http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParenthttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStarthttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBeforehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfterhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBeforehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfterhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapsehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHowhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPointshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNodehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContentshttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clonehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detachhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idlhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRangehttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionhttp://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCodefunction Range() {}Range.p ... tainer;Range.p ... ntainerRange.p ... Offset;Range.p ... tOffsetRange.p ... dOffsetRange.p ... lapsed;Range.p ... llapsedcommonA ... ntainerRange.p ... et) {};Range.p ... set) {}Range.p ... etStartRange.p ... .setEndRange.p ... de) {};Range.p ... ode) {}Range.p ... tBeforefunction(refNode) {}Range.p ... rtAfterRange.p ... dBeforeRange.p ... ndAfterRange.p ... rt) {};Range.p ... art) {}Range.p ... ollapsefunction(toStart) {}Range.p ... ectNodeRange.p ... ontentsRange.p ... RT = 0;Range.p ... ART = 0Range.p ... O_STARTRange.p ... ND = 1;Range.p ... END = 1Range.p ... _TO_ENDRange.p ... ND = 2;Range.p ... END = 2Range.p ... RT = 3;Range.p ... ART = 3Range.p ... ge) {};Range.p ... nge) {}Range.p ... yPointscompare ... yPointsfunctio ... nge) {}Range.p ... ertNodefunction(newNode) {}Range.p ... nt) {};Range.p ... ent) {}Range.p ... neRangeRange.p ... .detachRangeEx ... e.code;RangeEx ... pe.codeRangeEx ... ototypeRangeEx ... RR = 1;RangeEx ... ERR = 1RangeEx ... NTS_ERRBAD_BOU ... NTS_ERRRangeEx ... RR = 2;RangeEx ... ERR = 2RangeEx ... YPE_ERRINVALID ... YPE_ERR/opt/dist/tools/data/externs/web/w3c_requestidlecallback.jsw3c_requestidlecallback/opt/dist/.cache/trap-cache/javascript/8a317efcc43e190aa4b7757fcf1091699cd5b3a7.trap.gz
 * @fileoverview Definitions for cooperative scheduling of background tasks in
 * the browser. This spec is still very likely to change.
 *
 * @see https://w3c.github.io/requestidlecallback/
 * @see https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback?hl=en
 * @externs
 
 * @typedef {{
 *   timeout: (number|undefined)
 * }}
 
 * Schedules a callback to run when the browser is idle.
 * @param {function(!IdleDeadline)} callback Called when the browser is idle.
 * @param {number|IdleCallbackOptions=} opt_options If set, gives the browser a time in ms by which
 *     it must execute the callback. No timeout enforced otherwise.
 * @return {number} A handle that can be used to cancel the scheduled callback.
 
 * Cancels a callback scheduled to run when the browser is idle.
 * @param {number} handle The handle returned by {@code requestIdleCallback} for
 *     the scheduled callback to cancel.
 * @return {undefined}
 
 * An interface for an object passed into the callback for
 * {@code requestIdleCallback} that remains up-to-date on the amount of idle
 * time left in the current time slice.
 * @interface
 
 * @return {number} The amount of idle time (milliseconds) remaining in the
 *     current time slice. Will always be positive or 0.
 /**\n *  ...  0.\n */
 * Whether the callback was forced to run due to a timeout. Specifically,
 * whether the callback was invoked by the idle callback timeout algorithm:
 * https://w3c.github.io/requestidlecallback/#dfn-invoke-idle-callback-timeout-algorithm
 * @type {boolean}
 IdleCallbackOptionsrequestIdleCallbackcancelIdleCallbackIdleDeadlinetimeRemainingdidTimeoutDefinitions for cooperative scheduling of background tasks in
the browser. This spec is still very likely to change.
*https://w3c.github.io/requestidlecallback/
https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback?hl=en
{timeout: (number|undefined)}Schedules a callback to run when the browser is idle.Called when the browser is idle.
function (!IdleDeadline)!IdleDeadlineIf set, gives the browser a time in ms by which
it must execute the callback. No timeout enforced otherwise.
(number|IdleCallbackOptions)=(number|IdleCallbackOptions)A handle that can be used to cancel the scheduled callback.Cancels a callback scheduled to run when the browser is idle.The handle returned by {@code requestIdleCallback} for
the scheduled callback to cancel.
An interface for an object passed into the callback for
{@code requestIdleCallback} that remains up-to-date on the amount of idle
time left in the current time slice.The amount of idle time (milliseconds) remaining in the
current time slice. Will always be positive or 0.Whether the callback was forced to run due to a timeout. Specifically,
whether the callback was invoked by the idle callback timeout algorithm:
https://w3c.github.io/requestidlecallback/#dfn-invoke-idle-callback-timeout-algorithmvar Idl ... ptions;IdleDea ... n() {};IdleDea ... on() {}IdleDea ... mainingIdleDea ... ototypeIdleDea ... imeout;IdleDea ... Timeout/opt/dist/tools/data/externs/web/w3c_rtc.jsw3c_rtc/opt/dist/.cache/trap-cache/javascript/e21b370b949ab7fb42c4742cb56ade62f0705947.trap.gz
 * @fileoverview Definitions for components of the WebRTC browser API.
 * @see https://www.w3.org/TR/webrtc/
 * @see https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19
 * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
 * @see https://www.w3.org/TR/mediacapture-streams/
 *
 * @externs
 * @author bemasc@google.com (Benjamin M. Schwartz)
 /**\n *  ... tz)\n */
 * @typedef {string}
 * @see {https://www.w3.org/TR/mediacapture-streams/
 *     #idl-def-MediaStreamTrackState}
 * In WebIDL this is an enum with values 'live', 'mute', and 'ended',
 * but there is no mechanism in Closure for describing a specialization of
 * the string type.
 /**\n *  ... pe.\n */ @const {?string}  @const {boolean} /** @co ... ean} */
 * @interface
 * @see https://w3c.github.io/mediacapture-image/#mediasettingsrange-section
 
 * @interface
 * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities
 * @see https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section
  @type {!Array<string>}  @type {!Array<boolean>}  @type {!MediaSettingsRange} /** @ty ... nge} */
 * @interface
 * @see https://www.w3.org/TR/mediacapture-streams/#media-track-settings
 * @see https://w3c.github.io/mediacapture-image/#mediatracksettings-section
  @type {!Array<{x: number, y: number}>} /** @ty ... r}>} */
 * @interface
 * @see https://w3c.github.io/mediacapture-main/#media-track-supported-constraints
 
 * @interface
 * @extends {EventTarget}
 * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack
 
 * @param {!function(!Array<!SourceInfo>)} callback
 * @return {undefined}
 * @deprecated Use MediaDevices.enumerateDevices().
 /**\n *  ... ().\n */
 * @type {string}
 * @see https://crbug.com/653531
 * @see https://wicg.github.io/mst-content-hint/
 /**\n *  ... nt/\n */
 * @type {MediaStreamTrackState}
 * Read only.
 
 * Applies the specified set of constraints to the track, if any specified; or
 * if no constraints are specified, removes all constraints from the track.
 *
 * @param {MediaTrackConstraints=} constraints Constraints to apply to the
 *   track.
 * @return {!Promise<void>} A |Promise| that is resolved when the constraints
 *   have been applied, or rejected if there was an error applying the
 *   constraints.
 /**\n *  ... ts.\n */
 * @return {!MediaStreamTrack}
  @return {!MediaTrackCapabilities} /** @re ... ies} */ @return {!MediaTrackConstraints} /** @re ... nts} */ @return {!MediaTrackSettings} /** @re ... ngs} */
 * @typedef {{track: MediaStreamTrack}}
 /**\n *  ... k}}\n */
 * @param {string} type
 * @param {!MediaStreamTrackEventInit} eventInitDict
 * @constructor
 * @extends {Event}
 * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent
 
 * @type {!MediaStreamTrack}
 * @const
 
 * @param {!MediaStream|!Array<!MediaStreamTrack>=} streamOrTracks
 * @constructor
 * @implements {EventTarget}
 * @see https://www.w3.org/TR/mediacapture-streams/#mediastream
 /**\n *  ... eam\n */
 * @override
 /**\n * @override\n */
 * TODO(bemasc): Remove this property.
 * @deprecated
 * @type {string}
 * @const
 
 * @return {!Array<!MediaStreamTrack>}
 
 * @param {string} trackId
 * @return {MediaStreamTrack}
 
 * @param {!MediaStreamTrack} track
 * @return {undefined}
 
 * @return {!MediaStream}
 
 * @deprecated
 * @type {boolean}
 
 * @deprecated
 * @type {?function(!Event)}
 
 * @type {?function(!MediaStreamTrackEvent)}
 
 * @deprecated
 * TODO(bemasc): Remove this method once browsers have updated to
 * MediaStreamTrack.stop().
 * @return {undefined}
 
 * @type {function(new: MediaStream,
 *                 (!MediaStream|!Array<!MediaStreamTrack>)=)}
 
 * @typedef {{tone: string}}
 * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit
 
 * @param {string} type
 * @param {!RTCDTMFToneChangeEventInit} eventInitDict
 * @constructor
 * @extends {Event}
 * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeevent
 
 * @interface
 * @see https://www.w3.org/TR/webrtc/#rtcdtmfsender
 
 * @param {string} tones
 * @param {number=} opt_duration
 * @param {number=} opt_interToneGap
 /**\n *  ... Gap\n */
 * @type {?function(!RTCDTMFToneChangeEvent)}
 
 * @interface
 * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface
 
 * @const {!RTCDTMFSender}
 
 * @const {!MediaStreamTrack}
 
 * @param {!MediaStreamTrack} track
 
 * @return {!Object}
 
 * @param {!Object} params
 * @return {!Promise<undefined>}
 
 * @interface
 * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource
 
 * @type {?number}
 
 * @type {?Date}
 
 * @interface
 * @see https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface
 
 * @return {!Array<!RTCRtpContributingSource>}
 
 * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverinit
 * @record
 
 * The direction of the `RTCRtpTransceiver`. Defaults to "sendrecv".
 * @type {?RTCRtpTransceiverDirection|undefined}
 
 * The streams to add to the tranceiver's sender.
 * @type {?Array<!MediaStream>|undefined}
 
 * @type {?Array<!RTCRtpEncodingParameters>|undefined}
 
 * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpencodingparameters
 * @record
 
 * @type {?number|undefined}
 
 * Possible values are "disabled" and "enabled".
 * @type {?string|undefined}
 
 * @type {?boolean|undefined}
 
 * Possible values are "very-low", "low" (default), "medium", and "high".
 * @type {?string|undefined}
 
 * @type {?string|number}
 
 * @type {?number|number}
 
 * @interface
 * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface
 
 * @const {?string}
 
 * @const {!RTCRtpTransceiverDirection}
 
 * @const {?RTCRtpTransceiverDirection}
 
 * @param {!RTCRtpTransceiverDirection} direction
 
 * @const {?RTCRtpSender}
 
 * @const {?RTCRtpReceiver}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange
 * @record
 
 * @type {number|undefined}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange
 * @record
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters
 * @record
 
 * @type {boolean|undefined}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters
 * @record
 
 * @type {string|Array<string>|undefined}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange
 * @record
 * @extends {DoubleRange}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange
 * @record
 * @extends {LongRange}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean
 * @typedef {boolean|ConstrainBooleanParameters}
 /**\n *  ... rs}\n */
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString
 * @typedef {string|Array<string>|ConstrainDOMStringParameters}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble
 * @typedef {number|ConstrainDoubleRange}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong
 * @typedef {number|ConstrainLongRange}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset
 * @record
 * @private
 
 * @type {ConstrainBoolean|undefined}
 
 * @type {ConstrainDouble|undefined}
 
 * @type {ConstrainLong|undefined}
 
 * @type {ConstrainDOMString|undefined}
 
 * @record
 * @extends {MediaTrackConstraintSet}
 
 * @type {Array<!MediaTrackConstraintSet>|undefined}
 
 * @see https://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints
 * @record
 
 * @type {boolean|MediaTrackConstraints|undefined}
 
 * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html#
 *     navigatorusermediaerror-and-navigatorusermediaerrorcallback}
 * @interface
 
 * @type {number}
 * @deprecated Removed from the standard and some browsers.
 * @const
  1 /** 1 */
 * @type {number}
 * @deprecated Removed from the standard and some browsers.
 * Read only.
 
 * @type {string}
 * Read only.
 
 * @type {?string}
 * Read only.
 
 * @param {MediaStreamConstraints} constraints A MediaStreamConstraints object.
 * @param {function(!MediaStream)} successCallback
 *     A NavigatorUserMediaSuccessCallback function.
 * @param {function(!NavigatorUserMediaError)=} errorCallback A
 *     NavigatorUserMediaErrorCallback function.
 * @see http://dev.w3.org/2011/webrtc/editor/getusermedia.html
 * @see https://www.w3.org/TR/mediacapture-streams/
 * @return {undefined}
 
 * @param {string} type
 * @param {!Object} eventInitDict
 * @constructor
 
 * @type {?MediaStream}
 * @const
 
 * @record
 * @see https://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptions
  @type {(string|undefined)}  @type {(number|undefined)} 
 * @see https://www.w3.org/TR/mediastream-recording/#mediarecorder-api
 * @param {!MediaStream} stream
 * @param {MediaRecorderOptions=} options
 * @implements {EventTarget}
 * @constructor
 
 * @type {!MediaStream}
 
 * @type {(function(!Event)|undefined)}
 
 * @param {number=} timeslice
 
 * @interface
 * @see https://w3c.github.io/mediacapture-image/##photosettings-section
 
 * @interface
 * @see https://w3c.github.io/mediacapture-image/##photocapabilities-section
 
 * @type {!MediaSettingsRange}
 * @const
 
 * @type {!Array<!string>}
 * @const
 
 * @see https://w3c.github.io/mediacapture-image/
 * @param {!MediaStreamTrack} videoTrack
 * @constructor
 
 * @param {!PhotoSettings=} photoSettings
 * @return {!Promise<!Blob>}
 /**\n *  ... b>}\n */
 * @return {!Promise<!PhotoCapabilities>}
 
 * @return {!Promise<!ImageBitmap>}
 /**\n *  ... p>}\n */
 * @see https://www.w3.org/TR/webrtc/#rtctrackevent
 * @param {string} type
 * @param {!Object} eventInitDict
 * @constructor
 
 * @type {?RTCRtpReceiver}
 * @const
 
 * @type {?MediaStreamTrack}
 * @const
 
 * @type {?Array<!MediaStream>}
 * @const
 
 * @type {?RTCRtpTransceiver}
 * @const
 
 * @typedef {string}
 * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind
 * In WebIDL this is an enum with values 'audioinput', 'audiooutput', and
 * 'videoinput', but there is no mechanism in Closure for describing a
 * specialization of the string type.
 
 * Possible values are "sendrecv", "sendonly", "recvonly", and "inactive".
 * @typedef {string}
 * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection
  @const {!MediaDeviceKind} /** @co ... ind} */
 * @interface
 * @extends {EventTarget}
 * @see https://www.w3.org/TR/mediacapture-streams/#mediadevices
 /**\n *  ... ces\n */
 * @return {!Promise<!Array<!MediaDeviceInfo>>}
 
 * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
 * @param {!MediaStreamConstraints} constraints
 * @return {!Promise<!MediaStream>}
 
 * @see https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints
 * @return {!MediaTrackSupportedConstraints}
  @const {!MediaDevices} /** @co ... ces} */
 * @typedef {string}
 * @see https://www.w3.org/TR/webrtc/#rtcsdptype
 * In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer',
 * but there is no mechanism in Closure for describing a specialization of
 * the string type.
 
 * @param {!Object=} descriptionInitDict The RTCSessionDescriptionInit
 * dictionary.  This optional argument may have type
 * {type:RTCSdpType, sdp:string}, but neither of these keys are required to be
 * present, and other keys are ignored, so the closest Closure type is Object.
 * @constructor
 * @see https://www.w3.org/TR/webrtc/#rtcsessiondescription-class
 
 * @type {?RTCSdpType}
 * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-type
 
 * @type {?string}
 * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-sdp
 /**\n *  ... sdp\n */
 * TODO(bemasc): Remove this definition once it is removed from the browser.
 * @param {string} label The label index (audio/video/data -> 0,1,2)
 * @param {string} sdp The ICE candidate in SDP text form
 * @constructor
 
 * @type {?string}
  @record /** @record */ @type {?string|undefined} 
 * @param {!RTCIceCandidateInit=} candidateInitDict  The RTCIceCandidateInit dictionary.
 * @constructor
 * @see https://www.w3.org/TR/webrtc/#rtcicecandidate-interface
 
 * @typedef {{urls: string}|{urls: !Array<!string>}}
 * @private
 * @see https://www.w3.org/TR/webrtc/#rtciceserver-dictionary
 * This dictionary type also has an optional key {credential: ?string}.
 /**\n *  ... g}.\n */
 * @interface
 * @private
 
 * @type {string|!Array<!string>}
 
 * This type, and several below it, are constructed as unions between records
 *
 * @typedef {RTCIceServerRecord_|RTCIceServerInterface_}
 * @private
 
 * @typedef {{
 *   iceServers: !Array<!RTCIceServer>,
 *   sdpSemantics: (string|undefined)
 * }}
 * @private
 
 * @type {!Array<!RTCIceServer>}
 
 * Allows specifying the SDP semantics. Valid values are "plan-b" and
 * "unified-plan".
 *
 * @see {@link https://webrtc.org/web-apis/chrome/unified-plan/}
 * @type {string|undefined}
 
 * @typedef {RTCConfigurationRecord_|RTCConfigurationInterface_}
 /**\n *  ... e_}\n */
 * @typedef {function(!RTCSessionDescription)}
 
 * @typedef {function(string)}
 
 * @typedef {function()}
 
 * @typedef {string}
 
 * @type {RTCIceCandidate}
 * @const
  Note: The specification of RTCStats types is still under development.// Note ... opment. Declarations here will be updated and removed to follow the development of// Decl ... ment of modern browsers, breaking compatibility with older versions as they become// mode ...  become obsolete.// obsolete.
 * @type {Date}
 * @const
 
 * @return {!Array<!string>}
 
 * @deprecated
 * @type {RTCStatsReport}
 * @const
  Note: Below are Map like methods supported by WebRTC statistics// Note ... tistics specification-compliant RTCStatsReport. Currently only implemented by// spec ... nted by Mozilla.// Mozilla. See https://www.w3.org/TR/webrtc/#rtcstatsreport-object for definition.// See  ... nition.
 * @param {function(this:SCOPE, Object, string, MAP)} callback
 * @param {SCOPE=} opt_thisObj The value of "this" inside callback function.
 * @this {MAP}
 * @template MAP,SCOPE
 * @readonly
 /**\n *  ... nly\n */
 * @param {string} key
 * @return {Object}
 * @readonly
 
 * @return {!IteratorIterable<string>}
 * @readonly
 
 * TODO(bemasc): Remove this type once it is no longer in use.  It has already
 * been removed from the specification.
 * @typedef {RTCStatsReport}
 * @deprecated
 
 * @return {!Array<!RTCStatsReport>}
 
 * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)}
 
 * This type is not yet standardized, so the properties here only represent
 * the current capabilities of libjingle (and hence Chromium).
 * TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a
 * standard definition.
 *
 * @interface
 * @private
 
 * @type {?boolean}
 
 * TODO(bemasc): Make this type public once it is defined in a standard.
 *
 * @typedef {Object|MediaConstraintSetInterface_}
 * @private
 
 * @type {?MediaConstraintSet_}
 /**\n *  ... t_}\n */
 * @type {?Array<!MediaConstraintSet_>}
 /**\n *  ... _>}\n */
 * This type is used extensively in
 * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet
 * defined.
 *
 * @typedef {Object|MediaConstraintsInterface_}
 
 * An enumerated string type (RTCDataChannelState) with values:
 * "connecting", "open", "closing", and "closed".
 * @type {string}
 * Read only.
 
 * @type {number}
 * Read only.
 
 * @type {?function(!MessageEvent<*>)}
 
 * @param {string|!Blob|!ArrayBuffer|!ArrayBufferView} data
 * @return {undefined}
 
 * @constructor
 * @extends {Event}
 * @private
 
 * @type {!RTCDataChannel}
 * Read only.
 
 * @typedef {{reliable: boolean}}
 
 * @typedef {Object}
 * @property {boolean=} [ordered=true]
 * @property {number=} maxPacketLifeTime
 * @property {number=} maxRetransmits
 * @property {string=} [protocol=""]
 * @property {boolean=} [negotiated=false]
 * @property {number=} id
 * @property {string=} [priority='low']
 * see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation
 * Type inconsistencies due to Closure limitations:
 * maxPacketLifeTime should be UnsignedShort
 * maxRetransmits should be UnsignedShort
 * protocol should be USVString
 * id should be UnsignedShort
 * In WebIDL priority is an enum with values 'very-low', 'low',
 * 'medium' and 'high', but there is no mechanism in Closure for describing
 * a specialization of the string type.
 
 * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_}
 /**\n *  ... y_}\n */
 * @typedef {{expires: number}}
 
 * @param {RTCConfiguration} configuration
 * @param {!MediaConstraints=} constraints
 * @constructor
 * @implements {EventTarget}
 
 * @param {Object} keygenAlgorithm
 * @return {Promise<RTCCertificate>}
  NB: Until closure annotations support overloading, many of the following// NB:  ... llowing functions take odd unions of parameter types.  This is to support the various// func ... various api differences between browsers.  Generally, returning a promise means you// api  ... ans you don't take callback function parameters and draw any further parameters// don' ... ameters forward, and vice versa.// forw ...  versa.
 * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}
 *    successCallbackOrConstraints
 * @param {!RTCPeerConnectionErrorCallback=} errorCallback
 * @param {!MediaConstraints=} constraints
 * @return {!Promise<!RTCSessionDescription>|undefined}
 
 * @param {!RTCSessionDescription} description
 * @param {!RTCVoidCallback=} successCallback
 * @param {!RTCPeerConnectionErrorCallback=} errorCallback
 * @return {!Promise<!RTCSessionDescription>}
 
 * @type {?RTCSessionDescription}
 * Read only.
 
 * @type {RTCSignalingState}
 * Read only.
 
 * @param {?RTCConfiguration=} configuration
 * @param {?MediaConstraints=} constraints
 * @return {undefined}
 
 * Void in Chrome for now, a promise that you can then/catch in Firefox.
 * @param {!RTCIceCandidate} candidate
 * @param {!RTCVoidCallback=} successCallback
 * @param {!function(DOMException)=} errorCallback
 * @return {!Promise|undefined}
 
 * @type {!RTCIceGatheringState}
 * Read only.
 
 * @type {!RTCIceConnectionState}
 * Read only.
 
 * @return {!Array<!MediaStream>}
 
 * @param {string} streamId
 * @return {MediaStream}
 
 * @return {!Array<!RTCRtpSender>}
 
 * @return {!Array<!RTCRtpReceiver>}
 
 * @param {?string} label
 * @param {RTCDataChannelInit=} dataChannelDict
 * @return {!RTCDataChannel}
 /**\n *  ... el}\n */
 * @param {!MediaStream} stream
 * @param {!MediaConstraints=} constraints
 * @return {undefined}
 
 * @param {!MediaStream} stream
 * @return {undefined}
 
 * @param {!MediaStreamTrack} track
 * @param {!MediaStream} stream
 * @param {...MediaStream} var_args Additional streams.
 * @return {!RTCRtpSender}
 
 * @param {!MediaStreamTrack|string} trackOrKind
 * @param {?RTCRtpTransceiverInit=} init
 * @return {!RTCRtpTransceiver}
 
 * Returns the list of transceivers are currently attached to this peer.
 *
 * @return {!Array<!RTCRtpTransceiver>}
 
 * @return {!RTCConfiguration}
 
 * @param {!RTCConfiguration} configuration
 * @return {undefined}
 
 * @param {!RTCRtpSender} sender
 * @return {undefined}
  TODO(bemasc): Add identity provider stuff once implementations exist// TODO ... s exist TODO(rjogrady): Per w3c spec, getStats() should always return a Promise.// TODO ... romise. Remove RTCStatsReport from the return value once Firefox supports that.// Remo ... s that.
 * Firefox' getstats is synchronous and returns a much simpler
 * {!RTCStatsReport} Map-like object.
 * @param {!RTCStatsCallback=} successCallback
 * @param {MediaStreamTrack=} selector
 * @return {undefined|!RTCStatsReport|!Promise<!RTCStatsReport>}
 
 * @type {?function(!RTCPeerConnectionIceEvent)}
 
 * @type {?function(!MediaStreamEvent)}
 
 * @type {?function(!RTCTrackEvent)}
 
 * @type {?function(!RTCDataChannelEvent)}
 
 * @interface
 * @param {RTCIceGatherer} iceGatherer
 * @see https://www.w3.org/TR/webrtc/#idl-def-rtcicetransport
 
 * @type {!RTCIceGatheringState}
 * @const
 
 * @return {RTCIceCandidate[]}
 /**\n *  ... []}\n */
 * @return {RTCIceCandidatePair}
 
 * @return {RTCIceParameters}
 
 * @param {!Event} e
 * @return {undefined}
 
 * @constructor
 * @param {!RTCIceGatherOptions} options
 * @see https://msdn.microsoft.com/en-us/library/mt433107(v=vs.85).aspx
 
 * @interface
 * @param {RTCIceTransport} iceTransport
 * @see https://www.w3.org/TR/webrtc/#idl-def-rtcdtlstransport
 
 * @type {RTCIceTransport}
 * @const
 
 * @return {ArrayBuffer[]}
 MediaStreamTrackStateSourceInfofacingMediaSettingsRangeMediaTrackCapabilitiesaspectRatioframeRatefacingModesampleRatesampleSizeechoCancellationlatencychannelCountdeviceIdgroupIdwhiteBalanceModeexposureModefocusModeexposureCompensationcolorTemperatureisobrightnesscontrastsaturationsharpnesstorchMediaTrackSettingspointsOfInterestMediaTrackSupportedConstraintsautoGainControlnoiseSuppressionMediaStreamTrackgetSourcesenabledcontentHintremoteonmuteonunmuteonoverconstrainedapplyConstraintsconstraintsgetCapabilitiesgetConstraintsgetSettingsMediaStreamTrackEventInitMediaStreamTrackEventeventInitDictstreamOrTracksgetAudioTracksgetVideoTracksgetTrackstrackIdaddTrackremoveTrackonactiveoninactiveonaddtrackonremovetrackwebkitMediaStreamRTCDTMFToneChangeEventInitRTCDTMFToneChangeEventtoneRTCDTMFSenderinsertDTMFtonesopt_durationopt_interToneGapontonechangetoneBufferRTCRtpSendertransportdtmfreplaceTrackgetParameterssetParametersRTCRtpContributingSourceRTCRtpReceivergetContributingSourcesgetSynchronizationSourcesRTCRtpTransceiverInitstreamssendEncodingsRTCRtpEncodingParameterscodecPayloadTypedtxptimemaxBitratemaxFramerateridscaleResolutionDownByRTCRtpTransceivermidstoppedcurrentDirectionsetDirectionreceiverLongRangeDoubleRangeConstrainBooleanParametersexactidealConstrainDOMStringParametersConstrainDoubleRangeConstrainLongRangeConstrainBooleanConstrainDOMStringConstrainDoubleConstrainLongMediaTrackConstraintSetMediaTrackConstraintsadvancedMediaStreamConstraintsaudiovideoNavigatorUserMediaErrorconstraintNamewebkitGetUserMediaMediaStreamEventMediaRecorderOptionsaudioBitsPerSecondvideoBitsPerSecondbitsPerSecondMediaRecorderonstartonstoponresumetimeslicerequestDataPhotoSettingsfillLightModeimageHeightimageWidthredEyeReductionPhotoCapabilitiesImageCapturevideoTracktakePhotophotoSettingsgetPhotoCapabilitiesgrabFrameRTCTrackEventtransceiverMediaDeviceKindRTCRtpTransceiverDirectionMediaDeviceInfoMediaDevicesenumerateDevicesgetUserMediagetSupportedConstraintsmediaDevicesRTCSdpTypeRTCSessionDescriptiondescriptionInitDictsdpIceCandidatetoSdpRTCIceCandidateInitcandidatesdpMidsdpMLineIndexusernameFragmentRTCIceCandidatecandidateInitDictRTCIceServerRecord_RTCIceServerInterface_urlscredentialRTCIceServerRTCConfigurationRecord_RTCConfigurationInterface_iceServerssdpSemanticsRTCConfigurationRTCSessionDescriptionCallbackRTCPeerConnectionErrorCallbackRTCVoidCallbackRTCSignalingStateRTCIceConnectionStateRTCIceGatheringStateRTCPeerConnectionIceEventRTCStatsReportlocalopt_thisObjRTCStatsElementRTCStatsResponseRTCStatsCallbackMediaConstraintSetInterface_OfferToReceiveAudioOfferToReceiveVideoDtlsSrtpKeyAgreementRtpDataChannelsMediaConstraintSet_MediaConstraintsInterface_mandatoryoptionalMediaConstraintsRTCDataChannelreliableRTCDataChannelEventchannelRTCDataChannelInitRecord_RTCDataChannelInitInterface_RTCDataChannelInitDictionary_RTCDataChannelInitRTCCertificateRTCPeerConnectionconfigurationgenerateCertificatekeygenAlgorithmcreateOffersuccessCallbackOrConstraintscreateAnswersetLocalDescriptionsetRemoteDescriptionlocalDescriptionremoteDescriptionsignalingStateupdateIceaddIceCandidateiceGatheringStateiceConnectionStategetLocalStreamsgetRemoteStreamsgetStreamByIdstreamIdgetSendersgetReceiverscreateDataChanneldataChannelDictaddStreamremoveStreamaddTransceivertrackOrKindgetTransceiversgetConfigurationsetConfigurationgetStatsonnegotiationneededonicecandidateonsignalingstatechangeonaddstreamontrackonremovestreamoniceconnectionstatechangeondatachannelwebkitRTCPeerConnectionmozRTCPeerConnectionRTCIceTransporticeGatherergatheringStategetLocalCandidatesgetRemoteCandidatesgetSelectedCandidatePairgetLocalParametersgetRemoteParametersonstatechangeongatheringstatechangeonselectedcandidatepairchangeRTCIceGathererRTCDtlsTransporticeTransportgetRemoteCertificatesDefinitions for components of the WebRTC browser API.
https://www.w3.org/TR/webrtc/
https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19
https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
https://www.w3.org/TR/mediacapture-streams/
*bemasc@google.com (Benjamin M. Schwartz){https://www.w3.org/TR/mediacapture-streams/
#idl-def-MediaStreamTrackState}
In WebIDL this is an enum with values 'live', 'mute', and 'ended',
but there is no mechanism in Closure for describing a specialization of
the string type.https://w3c.github.io/mediacapture-image/#mediasettingsrange-sectionhttps://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities
https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section!Array.<boolean>Array.<boolean>!MediaSettingsRangehttps://www.w3.org/TR/mediacapture-streams/#media-track-settings
https://w3c.github.io/mediacapture-image/#mediatracksettings-section!Array.<{x: number, y: number}>Array.<{x: number, y: number}>{x: number, y: number}https://w3c.github.io/mediacapture-main/#media-track-supported-constraintshttps://www.w3.org/TR/mediacapture-streams/#mediastreamtrack!function (!Array.<!SourceInfo>)function (!Array.<!SourceInfo>)!Array.<!SourceInfo>Array.<!SourceInfo>!SourceInfoUse MediaDevices.enumerateDevices().https://crbug.com/653531
https://wicg.github.io/mst-content-hint/Read only.Applies the specified set of constraints to the track, if any specified; or
if no constraints are specified, removes all constraints from the track.Constraints to apply to the
track.
MediaTrackConstraints=A |Promise| that is resolved when the constraints
have been applied, or rejected if there was an error applying the
constraints.!MediaStreamTrack!MediaTrackCapabilities!MediaTrackConstraints!MediaTrackSettings{track: MediaStreamTrack}!MediaStreamTrackEventInithttps://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent(!MediaStream|!Array.<!MediaStreamTrack>)=(!MediaStream|!Array.<!MediaStreamTrack>)!Array.<!MediaStreamTrack>Array.<!MediaStreamTrack>https://www.w3.org/TR/mediacapture-streams/#mediastreamTODO(bemasc): Remove this property.?function (!MediaStreamTrackEvent)function (!MediaStreamTrackEvent)!MediaStreamTrackEventTODO(bemasc): Remove this method once browsers have updated to
MediaStreamTrack.stop().
function (new: MediaStream, (!MediaStream|!Array.<!MediaStreamTrack>)=){tone: string}https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit!RTCDTMFToneChangeEventInithttps://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventhttps://www.w3.org/TR/webrtc/#rtcdtmfsender?function (!RTCDTMFToneChangeEvent)function (!RTCDTMFToneChangeEvent)!RTCDTMFToneChangeEventhttps://www.w3.org/TR/webrtc/#rtcrtpsender-interface!RTCDTMFSenderhttps://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource?Datehttps://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface!Array.<!RTCRtpContributingSource>Array.<!RTCRtpContributingSource>!RTCRtpContributingSourcehttps://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverinit
The direction of the `RTCRtpTransceiver`. Defaults to "sendrecv".(?RTCRtpTransceiverDirection|undefined)?RTCRtpTransceiverDirectionThe streams to add to the tranceiver's sender.(?Array.<!MediaStream>|undefined)?Array.<!MediaStream>Array.<!MediaStream>(?Array.<!RTCRtpEncodingParameters>|undefined)?Array.<!RTCRtpEncodingParameters>Array.<!RTCRtpEncodingParameters>!RTCRtpEncodingParametershttps://www.w3.org/TR/webrtc/#dom-rtcrtpencodingparameters
Possible values are "disabled" and "enabled".Possible values are "very-low", "low" (default), "medium", and "high".(?string|number)(?number|number)https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface!RTCRtpTransceiverDirection?RTCRtpSender?RTCRtpReceiverhttps://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange
https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange
https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters
https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters
(string|Array.<string>|undefined)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange
https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange
https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean
(boolean|ConstrainBooleanParameters)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString
(string|Array.<string>|ConstrainDOMStringParameters)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble
(number|ConstrainDoubleRange)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong
(number|ConstrainLongRange)https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset
(ConstrainBoolean|undefined)(ConstrainDouble|undefined)(ConstrainLong|undefined)(ConstrainDOMString|undefined)(Array.<!MediaTrackConstraintSet>|undefined)Array.<!MediaTrackConstraintSet>!MediaTrackConstraintSethttps://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints
(boolean|MediaTrackConstraints|undefined){http://dev.w3.org/2011/webrtc/editor/getusermedia.html#
navigatorusermediaerror-and-navigatorusermediaerrorcallback}
Removed from the standard and some browsers.
Removed from the standard and some browsers.
Read only.A MediaStreamConstraints object.
A NavigatorUserMediaSuccessCallback function.
function (!MediaStream)A
NavigatorUserMediaErrorCallback function.
function (!NavigatorUserMediaError)=function (!NavigatorUserMediaError)!NavigatorUserMediaErrorhttp://dev.w3.org/2011/webrtc/editor/getusermedia.html
https://www.w3.org/TR/mediacapture-streams/
?MediaStreamhttps://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptionshttps://www.w3.org/TR/mediastream-recording/#mediarecorder-api
MediaRecorderOptions=(function (!Event)|undefined)https://w3c.github.io/mediacapture-image/##photosettings-sectionhttps://w3c.github.io/mediacapture-image/##photocapabilities-section!Array.<!string>Array.<!string>https://w3c.github.io/mediacapture-image/
!PhotoSettings=!PhotoSettings!Promise.<!PhotoCapabilities>Promise.<!PhotoCapabilities>!PhotoCapabilities!Promise.<!ImageBitmap>Promise.<!ImageBitmap>!ImageBitmapImageBitmaphttps://www.w3.org/TR/webrtc/#rtctrackevent
?MediaStreamTrack?RTCRtpTransceiverhttps://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind
In WebIDL this is an enum with values 'audioinput', 'audiooutput', and
'videoinput', but there is no mechanism in Closure for describing a
specialization of the string type.Possible values are "sendrecv", "sendonly", "recvonly", and "inactive".https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection!MediaDeviceKindhttps://www.w3.org/TR/mediacapture-streams/#mediadevices!Promise.<!Array.<!MediaDeviceInfo>>Promise.<!Array.<!MediaDeviceInfo>>!Array.<!MediaDeviceInfo>Array.<!MediaDeviceInfo>!MediaDeviceInfohttps://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
!MediaStreamConstraints!Promise.<!MediaStream>Promise.<!MediaStream>https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints
!MediaTrackSupportedConstraints!MediaDeviceshttps://www.w3.org/TR/webrtc/#rtcsdptype
In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer',
but there is no mechanism in Closure for describing a specialization of
the string type.The RTCSessionDescriptionInit
dictionary.  This optional argument may have type
{type:RTCSdpType, sdp:string}, but neither of these keys are required to be
present, and other keys are ignored, so the closest Closure type is Object.
https://www.w3.org/TR/webrtc/#rtcsessiondescription-class?RTCSdpTypehttps://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-typehttps://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-sdpTODO(bemasc): Remove this definition once it is removed from the browser.The label index (audio/video/data -> 0,1,2)
The ICE candidate in SDP text form
The RTCIceCandidateInit dictionary.
!RTCIceCandidateInit=!RTCIceCandidateInithttps://www.w3.org/TR/webrtc/#rtcicecandidate-interface({urls: string}|{urls: !Array.<!string>}){urls: string}{urls: !Array.<!string>}https://www.w3.org/TR/webrtc/#rtciceserver-dictionary
This dictionary type also has an optional key {credential: ?string}.(string|!Array.<!string>)This type, and several below it, are constructed as unions between records(RTCIceServerRecord_|RTCIceServerInterface_){iceServers: !Array.<!RTCIceServer>, sdpSemantics: (string|undefined)}!Array.<!RTCIceServer>Array.<!RTCIceServer>!RTCIceServerAllows specifying the SDP semantics. Valid values are "plan-b" and
"unified-plan".{@link https://webrtc.org/web-apis/chrome/unified-plan/}
(RTCConfigurationRecord_|RTCConfigurationInterface_)function (!RTCSessionDescription)!RTCSessionDescriptionfunction (this: SCOPE, Object, string, MAP)SCOPEThe value of "this" inside callback function.
SCOPE=MAP,SCOPE
readonly@readonly!IteratorIterable.<string>IteratorIterable.<string>TODO(bemasc): Remove this type once it is no longer in use.  It has already
been removed from the specification.!Array.<!RTCStatsReport>Array.<!RTCStatsReport>!RTCStatsReportfunction (!RTCStatsResponse, MediaStreamTrack=)!RTCStatsResponseMediaStreamTrack=This type is not yet standardized, so the properties here only represent
the current capabilities of libjingle (and hence Chromium).
TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a
standard definition.TODO(bemasc): Make this type public once it is defined in a standard.(Object|MediaConstraintSetInterface_)?MediaConstraintSet_?Array.<!MediaConstraintSet_>Array.<!MediaConstraintSet_>!MediaConstraintSet_This type is used extensively in
{@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet
defined.(Object|MediaConstraintsInterface_)An enumerated string type (RTCDataChannelState) with values:
"connecting", "open", "closing", and "closed".(string|!Blob|!ArrayBuffer|!ArrayBufferView)!RTCDataChannel{reliable: boolean}@property[ordered=true]
maxPacketLifeTimemaxRetransmits[protocol=""]
[negotiated=false]
[priority='low']
see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation
Type inconsistencies due to Closure limitations:
maxPacketLifeTime should be UnsignedShort
maxRetransmits should be UnsignedShort
protocol should be USVString
id should be UnsignedShort
In WebIDL priority is an enum with values 'very-low', 'low',
'medium' and 'high', but there is no mechanism in Closure for describing
a specialization of the string type.(RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_){expires: number}expires!MediaConstraints=!MediaConstraintsPromise.<RTCCertificate>(!RTCSessionDescriptionCallback|!MediaConstraints)=(!RTCSessionDescriptionCallback|!MediaConstraints)!RTCSessionDescriptionCallback!RTCPeerConnectionErrorCallback=!RTCPeerConnectionErrorCallback(!Promise.<!RTCSessionDescription>|undefined)!Promise.<!RTCSessionDescription>Promise.<!RTCSessionDescription>!RTCVoidCallback=!RTCVoidCallback?RTCSessionDescription?RTCConfiguration=?RTCConfiguration?MediaConstraints=?MediaConstraintsVoid in Chrome for now, a promise that you can then/catch in Firefox.!RTCIceCandidate!function (DOMException)=!function (DOMException)function (DOMException)(!Promise|undefined)!Promise!RTCIceGatheringState!RTCIceConnectionState!Array.<!MediaStream>!Array.<!RTCRtpSender>Array.<!RTCRtpSender>!RTCRtpSender!Array.<!RTCRtpReceiver>Array.<!RTCRtpReceiver>!RTCRtpReceiverRTCDataChannelInit=Additional streams.
...MediaStream(!MediaStreamTrack|string)?RTCRtpTransceiverInit=?RTCRtpTransceiverInit!RTCRtpTransceiverReturns the list of transceivers are currently attached to this peer.!Array.<!RTCRtpTransceiver>Array.<!RTCRtpTransceiver>!RTCConfigurationFirefox' getstats is synchronous and returns a much simpler
{!RTCStatsReport} Map-like object.!RTCStatsCallback=!RTCStatsCallback(undefined|!RTCStatsReport|!Promise.<!RTCStatsReport>)!Promise.<!RTCStatsReport>Promise.<!RTCStatsReport>?function (!RTCPeerConnectionIceEvent)function (!RTCPeerConnectionIceEvent)!RTCPeerConnectionIceEvent?function (!MediaStreamEvent)function (!MediaStreamEvent)!MediaStreamEvent?function (!RTCTrackEvent)function (!RTCTrackEvent)!RTCTrackEvent?function (!RTCDataChannelEvent)function (!RTCDataChannelEvent)!RTCDataChannelEventhttps://www.w3.org/TR/webrtc/#idl-def-rtcicetransportArray.<RTCIceCandidate>RTCIceCandidatePairRTCIceParameters!RTCIceGatherOptionsRTCIceGatherOptionshttps://msdn.microsoft.com/en-us/library/mt433107(v=vs.85).aspxhttps://www.w3.org/TR/webrtc/#idl-def-rtcdtlstransportArray.<ArrayBuffer>var Med ... kState;MediaSt ... ckStateSourceI ... e.kind;SourceI ... pe.kindSourceInfo.prototypeSourceI ... ype.id;SourceI ... type.idSourceI ... .label;SourceI ... e.labelSourceI ... facing;SourceI ... .facingMediaSe ... pe.max;MediaSe ... ype.maxMediaSe ... ototypeMediaSe ... pe.min;MediaSe ... ype.minMediaSe ... e.step;MediaSe ... pe.stepMediaTr ... ilitiesMediaTr ... .width;MediaTr ... e.widthMediaTr ... ototypeMediaTr ... height;MediaTr ... .heightMediaTr ... tRatio;MediaTr ... ctRatioMediaTr ... meRate;MediaTr ... ameRateMediaTr ... ngMode;MediaTr ... ingModeMediaTr ... volume;MediaTr ... .volumeMediaTr ... leRate;MediaTr ... pleRateMediaTr ... leSize;MediaTr ... pleSizeMediaTr ... lation;MediaTr ... llationMediaTr ... atency;MediaTr ... latencyMediaTr ... lCount;MediaTr ... elCountMediaTr ... viceId;MediaTr ... eviceIdMediaTr ... roupId;MediaTr ... groupIdMediaTr ... ceMode;MediaTr ... nceModeMediaTr ... reMode;MediaTr ... ureModeMediaTr ... usMode;MediaTr ... cusModeMediaTr ... sation;MediaTr ... nsationMediaTr ... eratureMediaTr ... ype.isoMediaTr ... ghtnessMediaTr ... ontrastMediaTr ... urationMediaTr ... arpnessMediaTr ... pe.zoomMediaTr ... e.torchMediaTr ... terest;MediaTr ... nterestMediaTr ... traintsMediaTr ... ontrol;MediaTr ... ControlMediaTr ... ession;MediaTr ... ressionMediaSt ... ck) {};MediaSt ... ack) {}MediaSt ... SourcesMediaSt ... e.kind;MediaSt ... pe.kindMediaSt ... ototypeMediaSt ... ype.id;MediaSt ... type.idMediaSt ... .label;MediaSt ... e.labelMediaSt ... nabled;MediaSt ... enabledMediaSt ... .muted;MediaSt ... e.mutedMediaSt ... ntHint;MediaSt ... entHintMediaSt ... remote;MediaSt ... .remoteMediaSt ... yState;MediaSt ... dyStateMediaSt ... onmute;MediaSt ... .onmuteMediaSt ... unmute;MediaSt ... nunmuteMediaSt ... nended;MediaSt ... onendedMediaSt ... rained;MediaSt ... trainedMediaSt ... ts) {};MediaSt ... nts) {}MediaSt ... traintsMediaSt ... n() {};MediaSt ... on() {}MediaSt ... e.cloneMediaSt ... pe.stopMediaSt ... ilitiesMediaSt ... ettingsvar Med ... ntInit;MediaSt ... entInitMediaSt ... ckEventMediaSt ... .track;MediaSt ... e.trackMediaSt ... re) {};MediaSt ... ure) {}MediaSt ... istenerMediaSt ... vt) {};MediaSt ... evt) {}MediaSt ... chEventMediaSt ... oTracksMediaSt ... tTracksMediaSt ... Id) {};MediaSt ... kId) {}MediaSt ... ackByIdfunction(trackId) {}MediaSt ... ddTrackfunction(track) {}MediaSt ... veTrackMediaSt ... .ended;MediaSt ... e.endedMediaSt ... active;MediaSt ... .activeMediaSt ... nactiveMediaSt ... dtrack;MediaSt ... ddtrackMediaSt ... etrack;MediaSt ... vetrackvar web ... Stream;var RTC ... ntInit;RTCDTMF ... entInitRTCDTMF ... geEventRTCDTMF ... e.tone;RTCDTMF ... pe.toneRTCDTMF ... ototypeRTCDTMF ... ap) {};RTCDTMF ... Gap) {}RTCDTMF ... ertDTMFfunctio ... Gap) {}RTCDTMF ... change;RTCDTMF ... echangeRTCDTMF ... Buffer;RTCDTMF ... eBufferfunctio ... ort) {}RTCRtpS ... e.dtmf;RTCRtpS ... pe.dtmfRTCRtpS ... ototypeRTCRtpS ... .track;RTCRtpS ... e.trackRTCRtpS ... ck) {};RTCRtpS ... ack) {}RTCRtpS ... ceTrackRTCRtpS ... n() {};RTCRtpS ... on() {}RTCRtpS ... ametersRTCRtpS ... ms) {};RTCRtpS ... ams) {}function(params) {}RTCRtpC ... gSourceRTCRtpC ... source;RTCRtpC ... .sourceRTCRtpC ... ototypeRTCRtpC ... estamp;RTCRtpC ... mestampRTCRtpR ... .track;RTCRtpR ... e.trackRTCRtpR ... ototypeRTCRtpR ... n() {};RTCRtpR ... on() {}RTCRtpR ... SourcesgetCont ... SourcesgetSync ... SourcesRTCRtpT ... verInitRTCRtpT ... ection;RTCRtpT ... rectionRTCRtpT ... ototypeRTCRtpT ... treams;RTCRtpT ... streamsRTCRtpT ... odings;RTCRtpT ... codingsfunctio ... rs() {}RTCRtpE ... ametersRTCRtpE ... adType;RTCRtpE ... oadTypeRTCRtpE ... ototypeRTCRtpE ... pe.dtx;RTCRtpE ... ype.dtxRTCRtpE ... active;RTCRtpE ... .activeRTCRtpE ... iority;RTCRtpE ... riorityRTCRtpE ... .ptime;RTCRtpE ... e.ptimeRTCRtpE ... itrate;RTCRtpE ... BitrateRTCRtpE ... merate;RTCRtpE ... amerateRTCRtpE ... pe.rid;RTCRtpE ... ype.ridRTCRtpE ... DownBy;RTCRtpE ... nDownByscaleRe ... nDownByRTCRtpT ... pe.mid;RTCRtpT ... ype.midRTCRtpT ... topped;RTCRtpT ... stoppedRTCRtpT ... on) {};RTCRtpT ... ion) {}RTCRtpT ... n() {};RTCRtpT ... on() {}RTCRtpT ... pe.stopRTCRtpT ... sender;RTCRtpT ... .senderRTCRtpT ... ceiver;RTCRtpT ... eceiverLongRan ... pe.max;LongRan ... ype.maxLongRange.prototypeLongRan ... pe.min;LongRan ... ype.minDoubleR ... pe.max;DoubleR ... ype.maxDoubleR ... ototypeDoubleR ... pe.min;DoubleR ... ype.minConstra ... ametersConstra ... .exact;Constra ... e.exactConstra ... ototypeConstra ... .ideal;Constra ... e.idealvar Con ... oolean;var Con ... String;var ConstrainDouble;var ConstrainLong;MediaTr ... aintSetMediaTr ... vanced;MediaTr ... dvancedMediaSt ... .audio;MediaSt ... e.audioMediaSt ... .video;MediaSt ... e.videoNavigat ... iaErrorNavigat ... DENIED;Navigat ... _DENIEDNavigat ... ototypeNavigat ... e.code;Navigat ... pe.codeNavigat ... e.name;Navigat ... pe.nameNavigat ... essage;Navigat ... messageNavigat ... ntName;Navigat ... intNameNavigat ... ck) {};Navigat ... ack) {}Navigat ... erMediaMediaSt ... stream;MediaSt ... .streamMediaRe ... imeTypeMediaRe ... ototypeMediaRe ... rSecondMediaRe ... re) {};MediaRe ... ure) {}MediaRe ... istenerMediaRe ... vt) {};MediaRe ... evt) {}MediaRe ... chEventMediaRe ... stream;MediaRe ... .streamMediaRe ... meType;MediaRe ... .state;MediaRe ... e.stateMediaRe ... nstart;MediaRe ... onstartMediaRe ... onstop;MediaRe ... .onstopMediaRe ... ilable;MediaRe ... ailableMediaRe ... npause;MediaRe ... onpauseMediaRe ... resume;MediaRe ... nresumeMediaRe ... nerror;MediaRe ... onerrorMediaRe ... Second;MediaRe ... ce) {};MediaRe ... ice) {}MediaRe ... e.startfunctio ... ice) {}MediaRe ... n() {};MediaRe ... on() {}MediaRe ... pe.stopMediaRe ... e.pauseMediaRe ... .resumeMediaRe ... estDataMediaRe ... pe) {};MediaRe ... ype) {}MediaRe ... pportedPhotoSe ... htMode;PhotoSe ... ghtModePhotoSe ... ototypePhotoSe ... Height;PhotoSe ... eHeightPhotoSe ... eWidth;PhotoSe ... geWidthPhotoSe ... uction;PhotoSe ... ductionPhotoCa ... uction;PhotoCa ... ductionPhotoCa ... ototypePhotoCa ... Height;PhotoCa ... eHeightPhotoCa ... eWidth;PhotoCa ... geWidthPhotoCa ... htMode;PhotoCa ... ghtModeImageCa ... gs) {};ImageCa ... ngs) {}ImageCa ... kePhotoImageCa ... ototypeImageCa ... n() {};ImageCa ... on() {}ImageCa ... ilitiesImageCa ... abFrameImageCa ... .track;ImageCa ... e.trackRTCTrac ... ceiver;RTCTrac ... eceiverRTCTrac ... ototypeRTCTrac ... .track;RTCTrac ... e.trackRTCTrac ... treams;RTCTrac ... streamsRTCTrac ... sceivervar MediaDeviceKind;var RTC ... ection;MediaDe ... viceId;MediaDe ... eviceIdMediaDe ... ototypeMediaDe ... e.kind;MediaDe ... pe.kindMediaDe ... .label;MediaDe ... e.labelMediaDe ... roupId;MediaDe ... groupIdMediaDe ... n() {};MediaDe ... on() {}MediaDe ... DevicesMediaDe ... nts) {}MediaDe ... erMediaMediaDe ... n()  {}MediaDe ... traintsgetSupp ... traintsfunction()  {}Navigat ... evices;Navigat ... Devicesvar RTCSdpType;RTCSess ... riptionRTCSess ... e.type;RTCSess ... pe.typeRTCSess ... ototypeRTCSess ... pe.sdp;RTCSess ... ype.sdpfunctio ... sdp) {}IceCand ... n() {};IceCand ... on() {}IceCand ... e.toSdpIceCand ... ototypeIceCand ... .label;IceCand ... e.labelRTCIceC ... didate;RTCIceC ... ndidateRTCIceC ... ototypeRTCIceC ... sdpMid;RTCIceC ... .sdpMidRTCIceC ... eIndex;RTCIceC ... neIndexRTCIceC ... agment;RTCIceC ... ragmentvar RTC ... ecord_;functio ... e_() {}RTCIceS ... erface_RTCIceS ... e.urls;RTCIceS ... pe.urlsRTCIceS ... ototypeRTCIceS ... ername;RTCIceS ... sernameRTCIceS ... ential;RTCIceS ... dentialvar RTCIceServer;RTCConf ... Record_RTCConf ... erface_RTCConf ... ervers;RTCConf ... ServersRTCConf ... ototypeRTCConf ... antics;RTCConf ... manticsvar RTC ... ration;var RTC ... llback;RTCSess ... allbackRTCPeer ... allbackvar RTCVoidCallback;var RTC ... gState;var RTC ... nState;RTCIceC ... onStateRTCPeer ... ceEventRTCPeer ... didate;RTCPeer ... ndidateRTCPeer ... ototypeRTCStat ... estamp;RTCStat ... mestampRTCStat ... ototypeRTCStat ... n() {};RTCStat ... on() {}RTCStat ... e.namesRTCStat ... me) {};RTCStat ... ame) {}RTCStat ... pe.statRTCStat ... .local;RTCStat ... e.localRTCStat ... remote;RTCStat ... .remoteRTCStat ... e.type;RTCStat ... pe.typeRTCStat ... ype.id;RTCStat ... type.idRTCStat ... bj) {};RTCStat ... Obj) {}RTCStat ... forEachRTCStat ... ey) {};RTCStat ... key) {}RTCStat ... ype.getRTCStat ... pe.keysvar RTCStatsElement;RTCStat ... .resultMediaCo ... erface_MediaCo ... eAudio;MediaCo ... veAudioMediaCo ... ototypeMediaCo ... eVideo;MediaCo ... veVideoMediaCo ... eement;MediaCo ... reementMediaCo ... annels;MediaCo ... hannelsvar Med ... ntSet_;MediaCo ... datory;MediaCo ... ndatoryMediaCo ... tional;MediaCo ... ptionalvar Med ... raints;RTCData ... .label;RTCData ... e.labelRTCData ... ototypeRTCData ... liable;RTCData ... eliableRTCData ... yState;RTCData ... dyStateRTCData ... Amount;RTCData ... dAmountRTCData ... onopen;RTCData ... .onopenRTCData ... nerror;RTCData ... onerrorRTCData ... nclose;RTCData ... oncloseRTCData ... n() {};RTCData ... on() {}RTCData ... e.closeRTCData ... essage;RTCData ... messageRTCData ... ryType;RTCData ... aryTypeRTCData ... ta) {};RTCData ... ata) {}RTCData ... pe.sendRTCData ... hannel;RTCData ... channelRTCData ... Record_RTCData ... erface_var RTC ... onary_;RTCData ... ionary_var RTC ... elInit;var RTCCertificate;RTCPeer ... hm) {};RTCPeer ... thm) {}RTCPeer ... ificateRTCPeer ... re) {};RTCPeer ... ure) {}RTCPeer ... istenerRTCPeer ... vt) {};RTCPeer ... evt) {}RTCPeer ... chEventRTCPeer ... ts) {};RTCPeer ... nts) {}RTCPeer ... teOffersuccess ... traintsRTCPeer ... eAnswerRTCPeer ... ck) {};RTCPeer ... ack) {}RTCPeer ... riptionRTCPeer ... iption;RTCPeer ... gState;RTCPeer ... ngStateRTCPeer ... dateIceRTCPeer ... nState;RTCPeer ... onStateRTCPeer ... n() {};RTCPeer ... on() {}RTCPeer ... StreamsRTCPeer ... Id) {};RTCPeer ... mId) {}RTCPeer ... eamByIdRTCPeer ... SendersRTCPeer ... ceiversRTCPeer ... ct) {};RTCPeer ... ict) {}RTCPeer ... ChannelRTCPeer ... dStreamRTCPeer ... am) {};RTCPeer ... eam) {}RTCPeer ... eStreamRTCPeer ... gs) {};RTCPeer ... rgs) {}RTCPeer ... ddTrackRTCPeer ... it) {};RTCPeer ... nit) {}RTCPeer ... sceiverRTCPeer ... urationRTCPeer ... on) {};RTCPeer ... ion) {}RTCPeer ... er) {};RTCPeer ... der) {}RTCPeer ... veTrackfunction(sender) {}RTCPeer ... or) {};RTCPeer ... tor) {}RTCPeer ... etStatsRTCPeer ... e.closeRTCPeer ... needed;RTCPeer ... nneededRTCPeer ... change;RTCPeer ... echangeonsigna ... echangeRTCPeer ... stream;RTCPeer ... dstreamRTCPeer ... ntrack;RTCPeer ... ontrackRTCPeer ... estreamoniceco ... echangeRTCPeer ... hannel;RTCPeer ... channelvar web ... ection;webkitR ... nectionvar moz ... ection;mozRTCP ... nectionfunctio ... rer) {}RTCIceT ... gState;RTCIceT ... ngStateRTCIceT ... ototypeRTCIceT ... on(){};RTCIceT ... ion(){}RTCIceT ... didatesfunction(){}RTCIceT ... atePairgetSele ... atePairRTCIceT ... ametersRTCIceT ... n(e){};RTCIceT ... on(e){}RTCIceT ... echangefunction(e){}ongathe ... echangeRTCIceT ... rchangeonselec ... rchangeRTCDtls ... nsport;RTCDtls ... ansportRTCDtls ... ototypeRTCDtls ... n() {};RTCDtls ... on() {}RTCDtls ... ficatesgetRemo ... ficatesRTCDtls ... n(e){};RTCDtls ... on(e){}RTCDtls ... echange/opt/dist/tools/data/externs/web/w3c_screen_orientation.jsw3c_screen_orientation/opt/dist/.cache/trap-cache/javascript/164f24021d043b21224bcf372559ed215698d73c.trap.gz
 * @fileoverview Definitions for W3C's Screen Orientation API.
 * @see https://w3c.github.io/screen-orientation/
 *
 * @externs
 
 * @interface
 * @extends {EventTarget}
 * @see https://w3c.github.io/screen-orientation/#screenorientation-interface
 
 * @param {string} orientation
 * @return {!Promise<void>}
 
 * @type {?ScreenOrientation}
 * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface
 ScreenOrientationunlockDefinitions for W3C's Screen Orientation API.
https://w3c.github.io/screen-orientation/
*https://w3c.github.io/screen-orientation/#screenorientation-interface?ScreenOrientationhttps://w3c.github.io/screen-orientation/#extensions-to-the-screen-interfacevar Scr ... n() {};ScreenO ... on() {}ScreenO ... on) {};ScreenO ... ion) {}ScreenO ... pe.lockScreenO ... ototypeScreenO ... n() {};ScreenO ... .unlockScreenO ... e.type;ScreenO ... pe.typeScreenO ... .angle;ScreenO ... e.angleScreenO ... change;ScreenO ... nchangeScreen. ... tation;Screen. ... ntation/opt/dist/tools/data/externs/web/w3c_selectors.jsw3c_selectors/opt/dist/.cache/trap-cache/javascript/0e3dedc3cb0a45b6edfa0a02ffc37e887d4ce48a.trap.gz
 * @fileoverview Definitions for W3C's Selectors API.
 *  This file depends on w3c_dom1.js.
 *  @see http://www.w3.org/TR/selectors-api2/
 *
 * @externs
 
 * @param {string} selectors
 * @return {?Element}
 * @override
 * @nosideeffects
 
 * @param {string} selectors
 * @return {!NodeList<!Element>}
 * @override
 * @nosideeffects
 
 * https://dom.spec.whatwg.org/#dom-element-closest
 * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest
 * @param {string} selectors
 * @return {?Element}
 * @nosideeffects
 
 * https://dom.spec.whatwg.org/#dom-element-matches
 * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches
 * @param {string} selectors
 * @return {boolean}
 * @nosideeffects
 
 * @param {string} selectors
 * @param {(Node|NodeList<?>)=} refNodes
 * @return {boolean}
 * @nosideeffects
 
 * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector
 * @param {string} selectors
 * @return {boolean}
 * @nosideeffects
 
 * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html
 * @param {string} selectors
 * @return {boolean}
 * @nosideeffects
 
 * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx
 * @param {string} selectors
 * @return {boolean}
 * @nosideeffects
 
 * @see http://www.opera.com/docs/changelogs/windows/1150/
 * @param {string} selectors
 * @return {boolean}
 * @nosideeffects
 selectorsmatchesSelectorrefNodesmozMatchesSelectorwebkitMatchesSelectormsMatchesSelectoroMatchesSelectorDefinitions for W3C's Selectors API.
This file depends on w3c_dom1.js.
http://www.w3.org/TR/selectors-api2/
*https://dom.spec.whatwg.org/#dom-element-closest
https://developer.mozilla.org/en-US/docs/Web/API/Element.closesthttps://dom.spec.whatwg.org/#dom-element-matches
https://developer.mozilla.org/en-US/docs/Web/API/Element.matcheshttps://developer.mozilla.org/en/DOM/Node.mozMatchesSelector
http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html
http://msdn.microsoft.com/en-us/library/ff975201.aspx
http://www.opera.com/docs/changelogs/windows/1150/
Documen ... rs) {};Documen ... ors) {}Documen ... electorDocumen ... ctorAllElement ... rs) {};Element ... ors) {}Element ... electorElement ... ctorAllElement ... closestElement ... matchesElement ... es) {};Element ... des) {}functio ... des) {}webkitM ... elector/opt/dist/tools/data/externs/web/w3c_serviceworker.jsw3c_serviceworker/opt/dist/.cache/trap-cache/javascript/faad5841087234b9cdb4b0c7a687405b36f1b6a7.trap.gz
 * @fileoverview Externs for service worker.
 *
 * @see http://www.w3.org/TR/service-workers/
 * @externs
 
 * @see http://www.w3.org/TR/service-workers/#service-worker-interface
 * @constructor
 * @extends {Worker}
  @type {ServiceWorkerState} 
 *  Set of possible string values: 'installing', 'installed', 'activating',
 * 'activated', 'redundant'.
 *  @typedef {string}
 
 * @see https://w3c.github.io/push-api/
 * @constructor
 
 * Please note there is an intent to deprecate this field in Chrome 43 or 44.
 * See https://www.chromestatus.com/feature/5283829761703936.
 * @type {string}
  @return {!Promise<boolean>} /** @re ... an>} */ @enum {string} /** @en ... ing} */ This is commented out since it has not been implemented yet in Chrome beta.// This ... e beta. Uncomment once it is available.// Unco ... ilable. var PushPermissionStatus  = {// var  ... us  = {  GRANTED: 'granted',//  GRA ... anted',  DENIED: 'denied',//  DEN ... enied',  DEFAULT: 'default'//  DEF ... efault'};//};
 * @see https://w3c.github.io/push-api/#idl-def-PushManager
 * @constructor
 
 * @param {PushSubscriptionOptions=} opt_options
 * @return {!Promise<PushSubscription>}
  @return {!Promise<PushSubscription>} /** @re ... on>} */ @return {!Promise<PushPermissionStatus>} /** @re ... us>} */ PushManager.prototype.hasPermission = function() {};// Push ... n() {};
 * @typedef {{userVisibleOnly: (boolean|undefined)}}
 * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions
 
 * @see http://www.w3.org/TR/push-api/#idl-def-PushMessageData
 * @constructor
  @return {!ArrayBuffer} /** @re ... fer} */ @return {!Blob} /** @re ... lob} */ @return {*} /** @return {*} */ @return {string} /** @re ... ing} */
 * @see http://www.w3.org/TR/push-api/#idl-def-PushEvent
 * @constructor
 * @param {string} type
 * @param {!ExtendableEventInit=} opt_eventInitDict
 * @extends {ExtendableEvent}
  @type {?PushMessageData} /** @ty ... ata} */
 * @see http://www.w3.org/TR/service-workers/#service-worker-registration-interface
 * @interface
 * @extends {EventTarget}
  @type {ServiceWorker} /** @ty ... ker} */ @return {!Promise<void>} /** @re ... id>} */
 * @see https://w3c.github.io/push-api/
 * @type {!PushManager}
 
 * @see https://notifications.spec.whatwg.org/#service-worker-api
 * @param {string} title
 * @param {NotificationOptions=} opt_options
 * @return {!Promise<void>}
 
 * @see https://notifications.spec.whatwg.org/#service-worker-api
 * @param {!GetNotificationOptions=} opt_filter
 * @return {!Promise<?Array<?Notification>>}
 
 * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface
 * @interface
 * @extends {EventTarget}
  @type {?ServiceWorker}  @type {!Promise<!ServiceWorkerRegistration>} /** @ty ... on>} */
 * @param {string} scriptURL
 * @param {RegistrationOptions=} opt_options
 * @return {!Promise<!ServiceWorkerRegistration>}
 
 * @param {string=} opt_documentURL
 * @return {!Promise<!ServiceWorkerRegistration|undefined>}
 
 * @return {!Promise<Array<!ServiceWorkerRegistration>>}
  @type {?function(!ErrorEvent)} 
 * @typedef {{scope: (string|undefined), useCache: (boolean|undefined)}}
  @type {!ServiceWorkerContainer} /** @ty ... ner} */
 * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface
 * @interface
 * @extends {WorkerGlobalScope}
  @type {!Cache}  @type {!CacheStorage} /** @ty ... age} */ @type {!ServiceWorkerClients} /** @ty ... nts} */ @type {!ServiceWorkerRegistration}  @type {!Console} /** @ty ... ole} */ @type {?function(!InstallEvent)}  @type {?function(!ExtendableEvent)}  @type {?function(!FetchEvent)} 
 * TODO(mtragut): This handler should get a custom event in the future.
 * @type {?function(!Event)}
  @type {?function(!MessageEvent)} 
 * @see http://www.w3.org/TR/service-workers/#service-worker-client-interface
 * @constructor
  @type {!Promise<void>} /** @ty ... id>} */ @type {VisibilityState} 
 * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once
 * the enum is defined.
 * @type {string}
 
 * @param {*} message
 * @param {(!Array<!Transferable>|undefined)=} opt_transfer
 * @return {undefined}
  @return {!Promise} /** @re ... ise} */
 * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface
 * @interface
 
 * Deprecated in Chrome M43+, use matchAll instead. Reference:
 * https://github.com/slightlyoff/ServiceWorker/issues/610.
 * TODO(joeltine): Remove when getAll is fully deprecated.
 * @param {ServiceWorkerClientQueryOptions=} opt_options
 * @return {!Promise<!Array<!ServiceWorkerClient>>}
 
 * @param {ServiceWorkerClientQueryOptions=} opt_options
 * @return {!Promise<!Array<!ServiceWorkerClient>>}
 
 * @return {!Promise<void>}
 
 * @param {string} url
 * @return {!Promise<!ServiceWorkerClient>}
  @typedef {{includeUncontrolled: (boolean|undefined)}} /** @ty ... d)}} */
 * @see http://www.w3.org/TR/service-workers/#cache-interface
 * @interface
 
 * @param {!RequestInfo} request
 * @param {CacheQueryOptions=} opt_options
 * @return {!Promise<!Response|undefined>}
 
 * @param {RequestInfo=} opt_request
 * @param {CacheQueryOptions=} opt_options
 * @return {!Promise<!Array<!Response>>}
 
 * @param {!RequestInfo} request
 * @return {!Promise<void>}
 
 * @param {!Array<!RequestInfo>} requests
 * @return {!Promise<void>}
 
 * @param {!RequestInfo} request
 * @param {!Response} response
 * @return {!Promise<void>}
 
 * @param {!RequestInfo} request
 * @param {CacheQueryOptions=} opt_options
 * @return {!Promise<boolean>}
 
 * @param {RequestInfo=} opt_request
 * @param {CacheQueryOptions=} opt_options
 * @return {!Promise<!Array<!Request>>}
 
 * @typedef {{
 *   ignoreSearch: (boolean|undefined),
 *   ignoreMethod: (boolean|undefined),
 *   ignoreVary: (boolean|undefined),
 *   prefixMatch: (boolean|undefined),
 *   cacheName: (string|undefined)
 * }}
 
 * @see http://www.w3.org/TR/service-workers/#cache-storage-interface
 * @interface
 
 * Window instances have a property called caches which implements CacheStorage
 * @see https://www.w3.org/TR/service-workers/#cache-objects
 * @type {!CacheStorage}
 
 * @param {string} cacheName
 * @return {!Promise<boolean>}
 
 * @param {string} cacheName
 * @return {!Promise<!Cache>}
  @return {!Promise<!Array<string>>} 
 * @see http://www.w3.org/TR/service-workers/#extendable-event-interface
 * @constructor
 * @param {string} type
 * @param {ExtendableEventInit=} opt_eventInitDict
 * @extends {Event}
 
 * @param {IThenable} f
 * @return {undefined}
 
 * @typedef {{
 *   bubbles: (boolean|undefined),
 *   cancelable: (boolean|undefined)
 * }}
 
 * @see http://www.w3.org/TR/service-workers/#install-event-interface
 * @constructor
 * @param {string} type
 * @param {InstallEventInit=} opt_eventInitDict
 * @extends {ExtendableEvent}
 
 * @typedef {{
 *   bubbles: (boolean|undefined),
 *   cancelable: (boolean|undefined),
 *   activeWorker: (!ServiceWorker|undefined)
 * }}
 
 * @see http://www.w3.org/TR/service-workers/#fetch-event-interface
 * @constructor
 * @param {string} type
 * @param {FetchEventInit=} opt_eventInitDict
 * @extends {Event}
  @type {!Request} /** @ty ... est} */ @type {!ServiceWorkerClient}  @type {!boolean} 
 * @param {(Response|Promise<Response>)} r
 * @return {undefined}
 
 * @param {string} url
 * @return {!Promise<!Response>}
 
 * @return {!Promise<!Response>}
 
 * @typedef {{
 *   bubbles: (boolean|undefined),
 *   cancelable: (boolean|undefined),
 *   request: (!Request|undefined),
 *   client: (!ServiceWorkerClient|undefined),
 *   isReload: (!boolean|undefined)
 * }}
 ServiceWorkerServiceWorkerStatePushSubscriptionendpointsubscriptionIdunsubscribePushManagersubscribegetSubscriptionPushSubscriptionOptionsPushMessageDataPushEventServiceWorkerRegistrationinstallingwaitingunregisteronupdatefoundpushManagershowNotificationgetNotificationsopt_filterServiceWorkerContainercontrollergetRegistrationopt_documentURLgetRegistrationsoncontrollerchangeRegistrationOptionsserviceWorkerServiceWorkerGlobalScopescriptCachecachesclientsregistrationskipWaitingoninstallonactivateonfetchonbeforeevictedonevictedServiceWorkerClientfocusedframeTypeServiceWorkerClientsmatchAllclaimopenWindowServiceWorkerClientQueryOptionsCacheopt_requestaddAllCacheQueryOptionsCacheStoragecacheNameExtendableEventwaitUntilExtendableEventInitInstallEventactiveWorkerInstallEventInitFetchEventclientisReloadrespondWithrforwardToFetchEventInitExterns for service worker.
*http://www.w3.org/TR/service-workers/
http://www.w3.org/TR/service-workers/#service-worker-interface
Set of possible string values: 'installing', 'installed', 'activating',
'activated', 'redundant'.https://w3c.github.io/push-api/
Please note there is an intent to deprecate this field in Chrome 43 or 44.
See https://www.chromestatus.com/feature/5283829761703936.!Promise.<boolean>Promise.<boolean>https://w3c.github.io/push-api/#idl-def-PushManager
PushSubscriptionOptions=!Promise.<PushSubscription>Promise.<PushSubscription>!Promise.<PushPermissionStatus>Promise.<PushPermissionStatus>PushPermissionStatus{userVisibleOnly: (boolean|undefined)}https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptionshttp://www.w3.org/TR/push-api/#idl-def-PushMessageData
http://www.w3.org/TR/push-api/#idl-def-PushEvent
!ExtendableEventInit=!ExtendableEventInit?PushMessageDatahttp://www.w3.org/TR/service-workers/#service-worker-registration-interface
!PushManagerhttps://notifications.spec.whatwg.org/#service-worker-api
NotificationOptions=NotificationOptions!GetNotificationOptions=!GetNotificationOptionsGetNotificationOptions!Promise.<?Array.<?Notification>>Promise.<?Array.<?Notification>>?Array.<?Notification>Array.<?Notification>?NotificationNotificationhttp://www.w3.org/TR/service-workers/#service-worker-container-interface
?ServiceWorker!Promise.<!ServiceWorkerRegistration>Promise.<!ServiceWorkerRegistration>!ServiceWorkerRegistrationRegistrationOptions=!Promise.<(!ServiceWorkerRegistration|undefined)>Promise.<(!ServiceWorkerRegistration|undefined)>(!ServiceWorkerRegistration|undefined)!Promise.<Array.<!ServiceWorkerRegistration>>Promise.<Array.<!ServiceWorkerRegistration>>Array.<!ServiceWorkerRegistration>?function (!ErrorEvent)function (!ErrorEvent)!ErrorEvent{scope: (string|undefined), useCache: (boolean|undefined)}useCache!ServiceWorkerContainerhttp://www.w3.org/TR/service-workers/#service-worker-global-scope-interface
!Cache!CacheStorage!ServiceWorkerClients!Console?function (!InstallEvent)function (!InstallEvent)!InstallEvent?function (!ExtendableEvent)function (!ExtendableEvent)!ExtendableEvent?function (!FetchEvent)function (!FetchEvent)!FetchEventTODO(mtragut): This handler should get a custom event in the future.?function (!MessageEvent)function (!MessageEvent)!MessageEventhttp://www.w3.org/TR/service-workers/#service-worker-client-interface
// TODO(mtragut): Possibly replace the type with enum ContextFrameType once
the enum is defined.(!Array.<!Transferable>|undefined)=(!Array.<!Transferable>|undefined)http://www.w3.org/TR/service-workers/#service-worker-clients-interface
Deprecated in Chrome M43+, use matchAll instead. Reference:
https://github.com/slightlyoff/ServiceWorker/issues/610.
TODO(joeltine): Remove when getAll is fully deprecated.ServiceWorkerClientQueryOptions=!Promise.<!Array.<!ServiceWorkerClient>>Promise.<!Array.<!ServiceWorkerClient>>!Array.<!ServiceWorkerClient>Array.<!ServiceWorkerClient>!ServiceWorkerClient!Promise.<!ServiceWorkerClient>Promise.<!ServiceWorkerClient>{includeUncontrolled: (boolean|undefined)}includeUncontrolledhttp://www.w3.org/TR/service-workers/#cache-interface
CacheQueryOptions=!Promise.<(!Response|undefined)>Promise.<(!Response|undefined)>(!Response|undefined)RequestInfo=!Promise.<!Array.<!Response>>Promise.<!Array.<!Response>>!Array.<!Response>Array.<!Response>!Array.<!RequestInfo>Array.<!RequestInfo>!Promise.<!Array.<!Request>>Promise.<!Array.<!Request>>!Array.<!Request>Array.<!Request>{ignoreSearch: (boolean|undefined), ignoreMethod: (boolean|undefined), ignoreVary: (boolean|undefined), prefixMatch: (boolean|undefined), cacheName: (string|undefined)}ignoreSearchignoreMethodignoreVaryprefixMatchhttp://www.w3.org/TR/service-workers/#cache-storage-interface
Window instances have a property called caches which implements CacheStoragehttps://www.w3.org/TR/service-workers/#cache-objects
!Promise.<!Cache>Promise.<!Cache>!Promise.<!Array.<string>>Promise.<!Array.<string>>http://www.w3.org/TR/service-workers/#extendable-event-interface
ExtendableEventInit={bubbles: (boolean|undefined), cancelable: (boolean|undefined)}http://www.w3.org/TR/service-workers/#install-event-interface
InstallEventInit={bubbles: (boolean|undefined), cancelable: (boolean|undefined), activeWorker: (!ServiceWorker|undefined)}(!ServiceWorker|undefined)!ServiceWorkerhttp://www.w3.org/TR/service-workers/#fetch-event-interface
FetchEventInit=!boolean(Response|Promise.<Response>)Promise.<Response>{bubbles: (boolean|undefined), cancelable: (boolean|undefined), request: (!Request|undefined), client: (!ServiceWorkerClient|undefined), isReload: (!boolean|undefined)}(!Request|undefined)(!ServiceWorkerClient|undefined)(!boolean|undefined)Service ... iptURL;Service ... riptURLService ... ototypeService ... .state;Service ... e.stateService ... change;Service ... echangevar Ser ... State ;PushSub ... dpoint;PushSub ... ndpointPushSub ... ototypePushSub ... tionId;PushSub ... ptionIdPushSub ... n() {};PushSub ... on() {}PushSub ... bscribePushMan ... ns) {};PushMan ... ons) {}PushMan ... bscribePushMan ... ototypePushMan ... n() {};PushMan ... on() {}PushMan ... riptionvar Pus ... ptions;PushSub ... OptionsPushMes ... n() {};PushMes ... on() {}PushMes ... yBufferPushMes ... ototypePushMes ... pe.blobPushMes ... pe.jsonPushMes ... pe.textPushEve ... e.data;PushEve ... pe.dataPushEvent.prototypeService ... trationService ... alling;Service ... tallingService ... aiting;Service ... waitingService ... active;Service ... .activeService ... .scope;Service ... e.scopeService ... n() {};Service ... on() {}Service ... egisterService ... efound;Service ... tefoundService ... .updateService ... anager;Service ... ManagerService ... ns) {};Service ... ons) {}Service ... icationService ... er) {};Service ... ter) {}Service ... cationsService ... ntainerService ... roller;Service ... trollerService ... .ready;Service ... e.readyService ... RL) {};Service ... URL) {}functio ... URL) {}Service ... rationsService ... rchangeService ... nerror;Service ... onerrorvar Reg ... ptions;Navigat ... Worker;Navigat ... eWorkerService ... alScopeService ... tCache;Service ... ptCacheService ... caches;Service ... .cachesService ... lients;Service ... clientsService ... ration;Service ... WaitingService ... onsole;Service ... consoleService ... nstall;Service ... installService ... tivate;Service ... ctivateService ... nfetch;Service ... onfetchService ... victed;Service ... evictedService ... essage;Service ... messageService ... exedDB;Service ... dexedDBService ... hidden;Service ... .hiddenService ... ocused;Service ... focusedService ... yState;Service ... tyStateService ... pe.url;Service ... ype.urlService ... meType;Service ... ameTypeService ... fer) {}Service ... MessageService ... e.focusService ... .getAllService ... atchAllService ... e.claimService ... rl) {};Service ... url) {}Service ... nWindowvar Ser ... ptions;Service ... Optionsfunction Cache() {}Cache.p ... ns) {};Cache.p ... ons) {}Cache.p ... e.matchCache.prototypeCache.p ... atchAllCache.p ... st) {};Cache.p ... est) {}Cache.prototype.addfunction(request) {}Cache.p ... ts) {};Cache.p ... sts) {}Cache.p ... .addAllfunctio ... sts) {}Cache.p ... se) {};Cache.p ... nse) {}Cache.prototype.putfunctio ... nse) {}Cache.p ... .deleteCache.prototype.keysvar Cac ... ptions;Window. ... caches;Window. ... .cachesCacheSt ... ns) {};CacheSt ... ons) {}CacheSt ... e.matchCacheSt ... ototypeCacheSt ... me) {};CacheSt ... ame) {}CacheSt ... ype.hasCacheSt ... pe.openCacheSt ... .deleteCacheSt ... n() {};CacheSt ... on() {}CacheSt ... pe.keysExtenda ... (f) {};Extenda ... n(f) {}Extenda ... itUntilExtenda ... ototypefunction(f) {}var Ext ... ntInit;Extenda ... Worker;Extenda ... eWorkervar Ins ... ntInit;FetchEv ... equest;FetchEv ... requestFetchEvent.prototypeFetchEv ... client;FetchEv ... .clientFetchEv ... Reload;FetchEv ... sReloadFetchEv ... (r) {};FetchEv ... n(r) {}FetchEv ... ondWithfunction(r) {}FetchEv ... rl) {};FetchEv ... url) {}FetchEv ... rwardToFetchEv ... n() {};FetchEv ... on() {}FetchEv ... defaultvar FetchEventInit;/opt/dist/tools/data/externs/web/w3c_touch_event.jsw3c_touch_event/opt/dist/.cache/trap-cache/javascript/db0acf609a48eb43734f69d0208418925e60ac9b.trap.gz
 * @fileoverview Definitions for W3C's Touch Events specification.
 * @see http://www.w3.org/TR/touch-events/
 * @externs
 
 * @typedef {{
 *   identifier: number,
 *   target: !EventTarget,
 *   clientX: (number|undefined),
 *   clientY: (number|undefined),
 *   screenX: (number|undefined),
 *   screenY: (number|undefined),
 *   pageX: (number|undefined),
 *   pageY: (number|undefined),
 *   radiusX: (number|undefined),
 *   radiusY: (number|undefined),
 *   rotationAngle: (number|undefined),
 *   force: (number|undefined)
 * }}
 
 * The Touch class represents a single touch on the surface. A touch is the
 * presence or movement of a finger that is part of a unique multi-touch
 * sequence.
 * @see http://www.w3.org/TR/touch-events/#touch-interface
 * @param {!TouchInitDict} touchInitDict
 * @constructor
 
 * The x-coordinate of the touch's location relative to the window's viewport.
 * @type {number}
 
 * The y-coordinate of the touch's location relative to the window's viewport.
 * @type {number}
 
 * The unique identifier for this touch object.
 * @type {number}
 
 * The x-coordinate of the touch's location in page coordinates.
 * @type {number}
 
 * The y-coordinate of the touch's location in page coordinates.
 * @type {number}
 
 * The x-coordinate of the touch's location in screen coordinates.
 * @type {number}
 
 * The y-coordinate of the touch's location in screen coordinates.
 * @type {number}
 
 * The target of this touch.
 * @type {EventTarget}
 
 * @type {number}
 * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force
 
 * @type {number}
 * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX
 /**\n *  ... usX\n */
 * @type {number}
 * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY
 /**\n *  ... usY\n */
 * @type {number}
 * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle
 
 * Creates a new Touch object.
 * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY
 * @param {Window} view
 * @param {EventTarget} target
 * @param {number} identifier
 * @param {number} pageX
 * @param {number} pageY
 * @param {number} screenX
 * @param {number} screenY
 * @return {Touch}
 /**\n *  ... ch}\n */
 * The TouchList class is used to represent a collection of Touch objects.
 * @see http://www.w3.org/TR/touch-events/#touchlist-interface
 * @constructor
 * @implements {IArrayLike<!Touch>}
 /**\n *  ... h>}\n */
 * The number of Touch objects in this TouchList object.
 * @type {number}
 
 * Returns the Touch object at the given index.
 * @param {number} index
 * @return {?Touch}
 
 * @param {number} identifier
 * @return {?Touch}
 * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier
 
 * Creates a new TouchList object.
 * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches
 * @param {Array<?Touch>} touches
 * @return {TouchList}
 
 * @record
 * @extends {UIEventInit}
 /**\n *  ... it}\n */ @type {undefined|!Array<?Touch>} /** @ty ... ch>} */
 * The TouchEvent class encapsulates information about a touch event.
 *
 * <p>The system continually sends TouchEvent objects to an application as
 * fingers touch and move across a surface. A touch event provides a snapshot of
 * all touches during a multi-touch sequence, most importantly the touches that
 * are new or have changed for a particular target. A multi-touch sequence
 * begins when a finger first touches the surface. Other fingers may
 * subsequently touch the surface, and all fingers may move across the surface.
 * The sequence ends when the last of these fingers is lifted from the surface.
 * An application receives touch event objects during each phase of any touch.
 * </p>
 *
 * <p>The different types of TouchEvent objects that can occur are:
 * <ul>
 *   <li>touchstart - Sent when a finger for a given event touches the surface.
 *   <li>touchmove - Sent when a given event moves on the surface.
 *   <li>touchend - Sent when a given event lifts from the surface.
 *   <li>touchcancel - Sent when the system cancels tracking for the touch.
 * </ul>
 * TouchEvent objects are combined together to form high-level GestureEvent
 * objects that are also sent during a multi-touch sequence.</p>
 *
 * @see http://www.w3.org/TR/touch-events/#touchevent-interface
 * @param {string} type
 * @param {!TouchEventInit=} opt_eventInitDict
 * @extends {UIEvent}
 * @constructor
 
 * A collection of Touch objects representing all touches associated with this
 * target.
 * @type {TouchList}
 
 * A collection of Touch objects representing all touches that changed in this event.
 * @type {TouchList}
 
 * Specifies the JavaScript method to invoke when the system cancels tracking
 * for the touch.
 * @type {?function(!TouchEvent)}
 
 * Specifies the JavaScript method to invoke when a given event lifts from the
 * surface.
 * @type {?function(!TouchEvent)}
 
 * Specifies the JavaScript method to invoke when a finger for a given event
 * moves on the surface.
 * @type {?function(!TouchEvent)}
 
 * Specifies the JavaScript method to invoke when a finger for a given event
 * touches the surface.
 * @type {?function(!TouchEvent)}
 TouchInitDicttouchInitDictforcerotationAnglecreateTouchidentifiedTouchcreateTouchListTouchEventInitontouchcancelontouchendontouchmoveontouchstartDefinitions for W3C's Touch Events specification.
http://www.w3.org/TR/touch-events/
{identifier: number, target: !EventTarget, clientX: (number|undefined), clientY: (number|undefined), screenX: (number|undefined), screenY: (number|undefined), pageX: (number|undefined), pageY: (number|undefined), radiusX: (number|undefined), radiusY: (number|undefined), rotationAngle: (number|undefined), force: (number|undefined)}The Touch class represents a single touch on the surface. A touch is the
presence or movement of a finger that is part of a unique multi-touch
sequence.http://www.w3.org/TR/touch-events/#touch-interface
!TouchInitDictThe x-coordinate of the touch's location relative to the window's viewport.The y-coordinate of the touch's location relative to the window's viewport.The unique identifier for this touch object.The x-coordinate of the touch's location in page coordinates.The y-coordinate of the touch's location in page coordinates.The x-coordinate of the touch's location in screen coordinates.The y-coordinate of the touch's location in screen coordinates.The target of this touch.http://www.w3.org/TR/touch-events-extensions/#widl-Touch-forcehttp://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusXhttp://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusYhttp://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngleCreates a new Touch object.http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY
The TouchList class is used to represent a collection of Touch objects.http://www.w3.org/TR/touch-events/#touchlist-interface
IArrayLike.<!Touch>!TouchThe number of Touch objects in this TouchList object.Returns the Touch object at the given index.?Touchhttp://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifierCreates a new TouchList object.http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches
Array.<?Touch>(undefined|!Array.<?Touch>)!Array.<?Touch>The TouchEvent class encapsulates information about a touch event.

<p>The system continually sends TouchEvent objects to an application as
fingers touch and move across a surface. A touch event provides a snapshot of
all touches during a multi-touch sequence, most importantly the touches that
are new or have changed for a particular target. A multi-touch sequence
begins when a finger first touches the surface. Other fingers may
subsequently touch the surface, and all fingers may move across the surface.
The sequence ends when the last of these fingers is lifted from the surface.
An application receives touch event objects during each phase of any touch.
</p>

<p>The different types of TouchEvent objects that can occur are:
<ul>
<li>touchstart - Sent when a finger for a given event touches the surface.
<li>touchmove - Sent when a given event moves on the surface.
<li>touchend - Sent when a given event lifts from the surface.
<li>touchcancel - Sent when the system cancels tracking for the touch.
</ul>
TouchEvent objects are combined together to form high-level GestureEvent
objects that are also sent during a multi-touch sequence.</p>http://www.w3.org/TR/touch-events/#touchevent-interface
!TouchEventInit=!TouchEventInitA collection of Touch objects representing all touches associated with this
target.A collection of Touch objects representing all touches that changed in this event.Specifies the JavaScript method to invoke when the system cancels tracking
for the touch.?function (!TouchEvent)function (!TouchEvent)!TouchEventSpecifies the JavaScript method to invoke when a given event lifts from the
surface.Specifies the JavaScript method to invoke when a finger for a given event
moves on the surface.Specifies the JavaScript method to invoke when a finger for a given event
touches the surface.var TouchInitDict;Touch.p ... lientX;Touch.p ... clientXTouch.p ... lientY;Touch.p ... clientYTouch.p ... tifier;Touch.p ... ntifierTouch.p ... .pageX;Touch.p ... e.pageXTouch.p ... .pageY;Touch.p ... e.pageYTouch.p ... creenX;Touch.p ... screenXTouch.p ... creenY;Touch.p ... screenYTouch.p ... target;Touch.p ... .targetTouch.p ... .force;Touch.p ... e.forceTouch.p ... radiusXTouch.p ... radiusYTouch.p ... nAngle;Touch.p ... onAngleDocumen ... nY) {};Documen ... enY) {}Documen ... teTouchfunctio ... enY) {}TouchLi ... length;TouchLi ... .lengthTouchList.prototypeTouchLi ... ex) {};TouchLi ... dex) {}TouchLi ... pe.itemTouchLi ... er) {};TouchLi ... ier) {}TouchLi ... edTouchfunctio ... ier) {}Documen ... es) {};Documen ... hes) {}Documen ... uchListfunction(touches) {}TouchEv ... Target;TouchEv ... dTargetTouchEv ... ototypeTouchEv ... ouches;TouchEv ... touchesTouchEv ... TouchesTouchEv ... altKey;TouchEv ... .altKeyTouchEv ... etaKey;TouchEv ... metaKeyTouchEv ... trlKey;TouchEv ... ctrlKeyTouchEv ... iftKey;TouchEv ... hiftKeyElement ... cancel;Element ... hcancelElement ... uchend;Element ... ouchendElement ... chmove;Element ... uchmoveElement ... hstart;Element ... chstart/opt/dist/tools/data/externs/web/w3c_webcrypto.jsw3c_webcrypto/opt/dist/.cache/trap-cache/javascript/dd057335b6b3aec948a134985e3f280fa1a3e461.trap.gz
 * @fileoverview Definitions for W3C's Web Cryptography specification
 * http://www.w3.org/TR/webCryptoAPI
 * @externs
 * @author chrismoon@google.com (Chris Moon)
 * This file was created using the best practices as described in:
 *     chrome_extensions.js
 /**\n *  ... .js\n */
 * @const
 * @see http://www.w3.org/TR/webCryptoAPI
 
 * @typedef {?{
 *   name: string
 * }}
 * @see http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary
 
 * @typedef {string|!webCrypto.Algorithm}
 * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifier
 
 * @constructor
 * @see http://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKey
 /**\n *  ... Key\n */
 * @type {string} An enumerated value representing the type of the key, a secret
 *    key (for symmetric algorithm), a public or a private key
 *    (for an asymmetric algorithm).
 /**\n *  ... m).\n */
 * @type {boolean} Determines whether or not the raw keying material may be
 *     exported by the application.
 /**\n *  ... on.\n */
 * @type {!Object} An opaque object representing a particular cipher the key
 *     has to be used with.
 /**\n *  ... th.\n */
 * @type {!Object} Returns the cached ECMAScript object associated with the
 *   usages internal slot, which indicates which cryptographic operations are
 *   permissible to be used with this key.
 /**\n *  ... ey.\n */
 * @typedef {?{
 *   name: string
 * }}
 * @see http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-members
 
 * @constructor
 * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey
 * @see Section 3.1:
 *     https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41
 /**\n *  ... -41\n */
 * @type {string} Identifies the cryptographic algorithm family used with
 *     the key, such as "RSA" or "EC".
 /**\n *  ... C".\n */
 * @type {string} Identifies the intended use of the public key.
 
 * @type {!Array<string>} Identifies the operation(s) that the key is
 *     intended to be used for.
 /**\n *  ... or.\n */
 * @type {string} Identifies the algorithm intended for use with the key.
 
 * @type {boolean} Boolean to be used with kty values.
 
 * @type {string} Identifies the cryptographic curve used with the key.
 
 * @type {string} Contains the x coordinate for the elliptic curve point.
 
 * @type {string} Contains the y coordinate for the elliptic curve point.
 
 * @type {string} Contains the Elliptic Curve private key value.
 
 * @type {string} Contains the modulus value for the RSA public key.
 
 * @type {string} Contains the exponent value for the RSA public key.
 
 * @type {string} Contains the first prime factor.
 
 * @type {string} Contains the second prime factor.
 
 * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of
 *     the first factor.
 
 * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of
 *     the second factor.
 
 * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient
 *     of the second factor.
 
 * @type {!Array<!webCrypto.RsaOtherPrimesInfo>} Contains an array of
 *     information about any third and subsequent primes, should they exist.
 /**\n *  ... st.\n */
 * @type {string} Contains the value of the symmetric (or other
 *     single-valued) key.
 
 * @constructor
 * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo
 * @see Section-6.3.2.7:
 *     https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
 /**\n *  ... -40\n */
 * @type {string} Parameter within an "oth" array member represents the value
 *     of a subsequent prime factor.
 
 * @type {string} Parameter within an "oth" array member represents the CRT
 *     exponent of the corresponding prime factor.
 
 * @type {string} Parameter within an "oth" array member represents the CRT
 *     coefficient of the corresponding prime factor.
 
 * @constructor
 * @see http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface
 
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported
 *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.
 * @param {!webCrypto.CryptoKey} key Key to be used for signing.
 * @param {!BufferSource} data Data to be encrypted (cleartext).
 * @return {!Promise<*>} Ciphertext generated by the encryption of the
 *     cleartext.
 /**\n *  ... xt.\n */
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported
 *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.
 * @param {!webCrypto.CryptoKey} key Key to be used for signing.
 * @param {!BufferSource} data Data to be decrypted (ciphertext).
 * @return {!Promise<*>} Cleartext generated by the decryption of the
 *     ciphertext.
 
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported
 *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.
 * @param {!webCrypto.CryptoKey} key Private key to be used for signing.
 * @param {!BufferSource} data Data to be signed.
 * @return {!Promise<*>} Returns the signature on success.
 /**\n *  ... ss.\n */
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported
 *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.
 * @param {!webCrypto.CryptoKey} key Private key to be used for signing.
 * @param {!BufferSource} signature Signature to verify.
 * @param {!BufferSource} data Data whose signature needs to be verified.
 * @return {!Promise<*>} Returns a boolean indicating if the signature operating
 *     has been successful.
 /**\n *  ... ul.\n */
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported
 *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.
 * @param {!BufferSource} data Data to be hashed using the hashing algorithm.
 * @return {!Promise<*>} returns the hash on success.
 
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported
 *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.
 * @param {boolean} extractable If the key can be extracted from the CryptoKey
 *     object at a later stage.
 * @param {!Array<string>} keyUsages Indication of new key options i.e.
 *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,
 *     unwrapKey.
 * @return {!Promise<*>} returns the generated key as a CryptoKey or a
 *     CryptoKeyPair.
 /**\n *  ... ir.\n */
 * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation
 *     algorithm to use. Supported values are:  ECDH, DH, PBKDF2, and HKDF-CTR.
 * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key
 *     derivation algorithm.
 * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key
 *     derivation algorithm to use.
 * @param {boolean} extractable Indicates if the key can be extracted from the
 *     CryptoKey object at a later stage.
 * @param {!Array<string>} keyUsages Indicates what can be done with the
 *     derivated key.
 * @return {!Promise<*>} returns the generated key as a CryptoKey or a
 *     CryptoKeyPair.
 
 * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation
 *     algorithm to use.
 * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key
 *     derivation algorithm.
 * @param {number} length
 * @return {!Promise<*>} returns the generated key as a CryptoKey or a
 *     CryptoKeyPair.
 
 * @param {string} format Enumerated value describing the data
 *     format of the key to imported.
 * @param {!BufferSource|!webCrypto.JsonWebKey} keyData The key
 *     in the given format.
 * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported values
 *     are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,
 *     RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.
 * @param {boolean} extractable If the key can be extracted from the CryptoKey
 *     object at a later stage.
 * @param {!Array<string>} keyUsages Indication of new key options i.e.
 *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,
 *     unwrapKey.
 * @return {!Promise<*>} returns the generated key as a CryptoKey.
 
 * @param {string} format Enumerated value describing the data
 *     format of the key to imported.
 * @param {!webCrypto.CryptoKey} key CryptoKey to export.
 * @return {!Promise<*>} returns the key in the requested format.
 /**\n *  ... at.\n */
 * @param {string} format Value describing the data format in which the key must
 *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.
 * @param {!webCrypto.CryptoKey} key CryptoKey to wrap.
 * @param {!webCrypto.CryptoKey} wrappingKey CryptoKey used to perform
 *     the wrapping.
 * @param {!webCrypto.AlgorithmIdentifier} wrapAlgorithm algorithm used
 *     to perform the wrapping. It is one of the following: AES-CBC, AES-CTR,
 *     AES-GCM, RSA-OAEP, and AES-KW.
 * @return {!Promise<*>} returns the wrapped key in the requested format.
 
 * @param {string} format Value describing the data format in which the key must
 *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.
 * @param {!BufferSource} wrappedKey Contains the wrapped key in the given
 *     format.
 * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform
 *     the unwrapping.
 * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm
 *    used to perform the unwrapping. It is one of the following: AES-CBC,
 *    AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.
 * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm
 *     Represents the algorithm of the wrapped key.
 * @param {boolean} extractable Indicates if the key can be extracted from the
 *     CryptoKey object at a later stage.
 * @param {!Array<string>} keyUsages Indicates what can be done with the
 *     derivated key.
 * @return {!Promise<*>} returns the unwrapped key as a CryptoKey.
 
 * Web Cryptography API
 * @see http://www.w3.org/TR/WebCryptoAPI/
 /**\n *  ... PI/\n */
 * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues
 * @param {!ArrayBufferView} typedArray
 * @return {!ArrayBufferView}
 * @throws {Error}
 
 * @type {webCrypto.SubtleCrypto}
 * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle
 webCryptoAlgorithmAlgorithmIdentifierCryptoKeyextractableusagesKeyAlgorithmJsonWebKeyktyusekey_opsalgcrvdqdpdqqiothkRsaOtherPrimesInfotSubtleCryptoencryptdecryptgenerateKeykeyUsagesderiveKeybaseKeyderivedKeyAlgoderiveBitsimportKeykeyDataexportKeywrapKeywrappingKeywrapAlgorithmunwrapKeywrappedKeyunwrappingKeyunwrapAlgorithmunwrappedKeyAlgorithmgetRandomValuestypedArraysubtleDefinitions for W3C's Web Cryptography specification
http://www.w3.org/TR/webCryptoAPI
chrismoon@google.com (Chris Moon)
This file was created using the best practices as described in:
chrome_extensions.jshttp://www.w3.org/TR/webCryptoAPI?{name: string}{name: string}http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary(string|!webCrypto.Algorithm)!webCrypto.AlgorithmwebCrypto.Algorithmhttp://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifierhttp://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKeyAn enumerated value representing the type of the key, a secret
key (for symmetric algorithm), a public or a private key
(for an asymmetric algorithm).Determines whether or not the raw keying material may be
exported by the application.An opaque object representing a particular cipher the key
has to be used with.Returns the cached ECMAScript object associated with the
usages internal slot, which indicates which cryptographic operations are
permissible to be used with this key.http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-membershttp://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey
Section 3.1:
https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41Identifies the cryptographic algorithm family used with
the key, such as "RSA" or "EC".Identifies the intended use of the public key.Identifies the operation(s) that the key is
intended to be used for.Identifies the algorithm intended for use with the key.Boolean to be used with kty values.Identifies the cryptographic curve used with the key.Contains the x coordinate for the elliptic curve point.Contains the y coordinate for the elliptic curve point.Contains the Elliptic Curve private key value.Contains the modulus value for the RSA public key.Contains the exponent value for the RSA public key.Contains the first prime factor.Contains the second prime factor.Contains the Chinese Remainder Theorem (CRT) exponent of
the first factor.Contains the Chinese Remainder Theorem (CRT) exponent of
the second factor.Contains the Chinese Remainder Theorem (CRT) coefficient
of the second factor.Contains an array of
information about any third and subsequent primes, should they exist.!Array.<!webCrypto.RsaOtherPrimesInfo>Array.<!webCrypto.RsaOtherPrimesInfo>!webCrypto.RsaOtherPrimesInfowebCrypto.RsaOtherPrimesInfoContains the value of the symmetric (or other
single-valued) key.http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo
Section-6.3.2.7:
https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40Parameter within an "oth" array member represents the value
of a subsequent prime factor.Parameter within an "oth" array member represents the CRT
exponent of the corresponding prime factor.Parameter within an "oth" array member represents the CRT
coefficient of the corresponding prime factor.http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interfaceSupported
values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.
!webCrypto.AlgorithmIdentifierwebCrypto.AlgorithmIdentifierKey to be used for signing.
!webCrypto.CryptoKeywebCrypto.CryptoKeyData to be encrypted (cleartext).
Ciphertext generated by the encryption of the
cleartext.Data to be decrypted (ciphertext).
Cleartext generated by the decryption of the
ciphertext.Supported
values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.
Private key to be used for signing.
Data to be signed.
Returns the signature on success.Signature to verify.
Data whose signature needs to be verified.
Returns a boolean indicating if the signature operating
has been successful.Supported
values are: SHA-1, SHA-256, SHA-384, and SHA-512.
Data to be hashed using the hashing algorithm.
returns the hash on success.If the key can be extracted from the CryptoKey
object at a later stage.
Indication of new key options i.e.
encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,
unwrapKey.
returns the generated key as a CryptoKey or a
CryptoKeyPair.The key derivation
algorithm to use. Supported values are:  ECDH, DH, PBKDF2, and HKDF-CTR.
Key to be used by the key
derivation algorithm.
Defines the key
derivation algorithm to use.
Indicates if the key can be extracted from the
CryptoKey object at a later stage.
Indicates what can be done with the
derivated key.
The key derivation
algorithm to use.
Enumerated value describing the data
format of the key to imported.
The key
in the given format.
(!BufferSource|!webCrypto.JsonWebKey)!webCrypto.JsonWebKeywebCrypto.JsonWebKeySupported values
are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,
RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.
returns the generated key as a CryptoKey.CryptoKey to export.
returns the key in the requested format.Value describing the data format in which the key must
be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.
CryptoKey to wrap.
CryptoKey used to perform
the wrapping.
algorithm used
to perform the wrapping. It is one of the following: AES-CBC, AES-CTR,
AES-GCM, RSA-OAEP, and AES-KW.
returns the wrapped key in the requested format.Contains the wrapped key in the given
format.
CryptoKey used to perform
the unwrapping.
Algorithm
used to perform the unwrapping. It is one of the following: AES-CBC,
AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.
Represents the algorithm of the wrapped key.
returns the unwrapped key as a CryptoKey.Web Cryptography APIhttp://www.w3.org/TR/WebCryptoAPI/https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues
webCrypto.SubtleCryptohttp://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtlevar webCrypto = {};webCrypto = {}webCrypto.Algorithm;webCryp ... tifier;webCryp ... ntifierwebCryp ... n() {};webCryp ... on() {}webCryp ... e.type;webCryp ... pe.typewebCryp ... ototypewebCryp ... ctable;webCryp ... actablewebCryp ... orithm;webCryp ... gorithmwebCryp ... usages;webCryp ... .usageswebCryp ... pe.kty;webCryp ... ype.ktywebCryp ... pe.use;webCryp ... ype.usewebCryp ... ey_ops;webCryp ... key_opswebCryp ... pe.alg;webCryp ... ype.algwebCryp ... pe.ext;webCryp ... ype.extwebCryp ... pe.crv;webCryp ... ype.crvwebCryp ... type.x;webCryp ... otype.xwebCryp ... type.y;webCryp ... otype.ywebCryp ... type.d;webCryp ... otype.dwebCryp ... type.n;webCryp ... otype.nwebCryp ... type.e;webCryp ... otype.ewebCryp ... type.p;webCryp ... otype.pwebCryp ... type.q;webCryp ... otype.qwebCryp ... ype.dp;webCryp ... type.dpwebCryp ... ype.dq;webCryp ... type.dqwebCryp ... ype.qi;webCryp ... type.qiwebCryp ... pe.oth;webCryp ... ype.othwebCryp ... type.k;webCryp ... otype.kwebCryp ... mesInfowebCryp ... type.r;webCryp ... otype.rwebCryp ... type.t;webCryp ... otype.twebCryp ... eCryptowebCryp ... ta) {};webCryp ... ata) {}webCryp ... encryptwebCryp ... decryptwebCryp ... pe.signwebCryp ... .verifywebCryp ... .digestwebCryp ... es) {};webCryp ... ges) {}webCryp ... rateKeyfunctio ... ges) {}webCryp ... riveKeywebCryp ... th) {};webCryp ... gth) {}webCryp ... iveBitswebCryp ... portKeywebCryp ... ey) {};webCryp ... key) {}webCryp ... hm) {};webCryp ... thm) {}webCryp ... wrapKeyunwrapp ... gorithmWindow. ... ay) {};Window. ... ray) {}Window. ... mValuesfunctio ... ray) {}Window. ... subtle;Window. ... .subtle/opt/dist/tools/data/externs/web/w3c_xml.jsw3c_xml/opt/dist/.cache/trap-cache/javascript/50b27c1f050e9cdcb3f9a1361a8a4df5a301d5a1.trap.gz
 * @fileoverview Definitions for W3C's XML related specifications.
 *  This file depends on w3c_dom2.js.
 *  The whole file has been fully type annotated.
 *
 *  Provides the XML standards from W3C.
 *   Includes:
 *    XPath          - Fully type annotated
 *    XMLHttpRequest - Fully type annotated
 *
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html
 * @see http://www.w3.org/TR/XMLHttpRequest/
 * @see http://www.w3.org/TR/XMLHttpRequest2/
 *
 * @externs
 * @author stevey@google.com (Steve Yegge)
 
 * @constructor
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR
 /**\n *  ... ERR\n */
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#
 /**\n *  ... ml#\n */
 * @constructor
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator
 
 * @param {string} expr
 * @param {?XPathNSResolver=} opt_resolver
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression
 * @throws XPathException
 * @throws DOMException
 * @return {undefined}
 
 * @param {Node} nodeResolver
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver
 * @return {undefined}
 
 * @param {string} expr
 * @param {Node} contextNode
 * @param {?XPathNSResolver=} opt_resolver
 * @param {?number=} opt_type
 * @param {*=} opt_result
 * @return {XPathResult}
 * @throws XPathException
 * @throws DOMException
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
 
 * @constructor
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
 
 * @param {Node} contextNode
 * @param {number=} opt_type
 * @param {*=} opt_result
 * @return {*}
 * @throws XPathException
 * @throws DOMException
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluate
 
 * @constructor
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver
 /**\n *  ... ver\n */
 * @param {string} prefix
 * @return {?string}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURI
 
 * From http://www.w3.org/TR/xpath
 *
 * XPath is a language for addressing parts of an XML document, designed to be
 * used by both XSLT and XPointer.
 *
 * @noalias
 * @constructor
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult
 /**\n *  ... ult\n */
 * @type {boolean} {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValue
 
 * @type {boolean} {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-state
 
 * @type {number}
 * @throws XPathException {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValue
 
 * @type {number}
 * @throws XPathException {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultType
 
 * @type {Node}
 * @throws XPathException {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue
 
 * @type {number}
 * @throws XPathException {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-length
 
 * @type {string}
 * @throws XPathException {@see XPathException.TYPE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValue
 
 * @return {Node}
 * @throws XPathException {@see XPathException.TYPE_ERR}
 * @throws DOMException {@see DOMException.INVALID_STATE_ERR}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNext
 
 * @param {number} index
 * @return {Node}
 * @throws XPathException
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItem
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPE
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPE
 
 * @constructor
 * @extends {Node}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace
 
 * @type {Element}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElement
 
 * @type {number}
 * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE
 /**\n *  ... ODE\n */
 * From http://www.w3.org/TR/XMLHttpRequest/
 *
 * (Draft)
 *
 * The XMLHttpRequest Object specification defines an API that provides
 * scripted client functionality for transferring data between a client and a
 * server.
 *
 * @constructor
 * @implements {EventTarget}
 * @see http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object
 
 * @param {string} method
 * @param {string} url
 * @param {?boolean=} opt_async
 * @param {?string=} opt_user
 * @param {?string=} opt_password
 * @return {undefined}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-open()-method
 
 * @param {string} header
 * @param {string} value
 * @return {undefined}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method
 
 * @param {ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string=} opt_data
 * @return {undefined}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-send()-method
 
 * @return {undefined}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method
 
 * @return {string}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method
 
 * @param {string} header
 * @return {string}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method
 
 * @type {string}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute
 
 * This is not supported in any IE browser (as of August 2016).
 * @type {string}
 * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL
 /**\n *  ... URL\n */
 * @type {Document}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute
 
 * @type {number}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute
 
 * @type {number}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute
 
 * @type {string}
 * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute
 
 * @type {Function}
 * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange
 
 * @type {Function}
 * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror
 
 * @type {number}
 * @see https://www.w3.org/TR/XMLHttpRequest/#states
 
 * The FormData object represents an ordered collection of entries. Each entry
 * has a name and value.
 *
 * @param {?Element=} opt_form An optional form to use for constructing the form
 *     data set.
 * @constructor
 * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface
 
 * @param {string} name
 * @param {Blob|string} value
 * @param {string=} opt_filename
 * @return {undefined}
 XPathExceptionINVALID_EXPRESSION_ERR52TYPE_ERRXPathEvaluatorcreateExpressionopt_resolvernodeResolvercontextNodeopt_resultXPathExpressionXPathNSResolverXPathResultbooleanValueinvalidInteratorStatenumberValueresultTypesingleNodeValuesnapshotLengthiterateNextsnapshotItemANY_TYPENUMBER_TYPESTRING_TYPEBOOLEAN_TYPEUNORDERED_NODE_ITERATOR_TYPEORDERED_NODE_ITERATOR_TYPEUNORDERED_NODE_SNAPSHOT_TYPEORDERED_NODE_SNAPSHOT_TYPEANY_UNORDERED_NODE_TYPEFIRST_ORDERED_NODE_TYPEXPathNamespaceopt_asyncopt_useropt_passwordsetRequestHeaderheadergetAllResponseHeadersgetResponseHeaderresponseURLresponseXMLUNSENTOPENEDHEADERS_RECEIVEDopt_filenameDefinitions for W3C's XML related specifications.
This file depends on w3c_dom2.js.
The whole file has been fully type annotated.
*  Provides the XML standards from W3C.
Includes:
XPath          - Fully type annotated
XMLHttpRequest - Fully type annotated
*http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html
http://www.w3.org/TR/XMLHttpRequest/
http://www.w3.org/TR/XMLHttpRequest2/
*http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExceptionhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERRhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERRhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator?XPathNSResolver=?XPathNSResolverhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression
XPathException
DOMException
http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver
?number=http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluatehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpressionhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluatehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolverhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURIFrom http://www.w3.org/TR/xpath

XPath is a language for addressing parts of an XML document, designed to be
used by both XSLT and XPointer.http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult{@see XPathException.TYPE_ERR}
http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValuehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-stateXPathException {@see XPathException.TYPE_ERR}
http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValuehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultTypehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValuehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-lengthhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValueDOMException {@see DOMException.INVALID_STATE_ERR}
http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNexthttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItemhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPEhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespacehttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElementhttp://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODEFrom http://www.w3.org/TR/XMLHttpRequest/

(Draft)

The XMLHttpRequest Object specification defines an API that provides
scripted client functionality for transferring data between a client and a
server.http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-objecthttp://www.w3.org/TR/XMLHttpRequest/#the-open()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method(ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string)=(ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string)http://www.w3.org/TR/XMLHttpRequest/#the-send()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-abort()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-methodhttp://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attributeThis is not supported in any IE browser (as of August 2016).https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURLhttp://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attributehttp://www.w3.org/TR/XMLHttpRequest/#the-readystate-attributehttp://www.w3.org/TR/XMLHttpRequest/#the-status-attributehttp://www.w3.org/TR/XMLHttpRequest/#the-statustext-attributehttp://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechangehttp://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerrorhttps://www.w3.org/TR/XMLHttpRequest/#statesThe FormData object represents an ordered collection of entries. Each entry
has a name and value.An optional form to use for constructing the form
data set.
?Element=http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface(Blob|string)XPathEx ... R = 52;XPathEx ... RR = 52XPathEx ... ION_ERRXPathEx ... YPE_ERRXPathEx ... e.code;XPathEx ... pe.codeXPathEx ... ototypeXPathEv ... er) {};XPathEv ... ver) {}XPathEv ... ressionXPathEv ... ototypeXPathEv ... esolverXPathEv ... lt) {};XPathEv ... ult) {}XPathEv ... valuatefunctio ... ult) {}XPathEx ... lt) {};XPathEx ... ult) {}XPathEx ... valuateXPathNS ... ix) {};XPathNS ... fix) {}XPathNS ... paceURIXPathNS ... ototypeXPathRe ... nValue;XPathRe ... anValueXPathRe ... ototypeXPathRe ... rState;XPathRe ... orStateinvalid ... orStateXPathRe ... rValue;XPathRe ... erValueXPathRe ... ltType;XPathRe ... ultTypeXPathRe ... eValue;XPathRe ... deValueXPathRe ... Length;XPathRe ... tLengthXPathRe ... gValue;XPathRe ... ngValueXPathRe ... n() {};XPathRe ... on() {}XPathRe ... ateNextXPathRe ... ex) {};XPathRe ... dex) {}XPathRe ... hotItemXPathRe ... PE = 0;XPathRe ... YPE = 0XPathResult.ANY_TYPEXPathRe ... PE = 1;XPathRe ... YPE = 1XPathRe ... ER_TYPEXPathRe ... PE = 2;XPathRe ... YPE = 2XPathRe ... NG_TYPEXPathRe ... PE = 3;XPathRe ... YPE = 3XPathRe ... AN_TYPEXPathRe ... PE = 4;XPathRe ... YPE = 4XPathRe ... OR_TYPEUNORDER ... OR_TYPEXPathRe ... PE = 5;XPathRe ... YPE = 5ORDERED ... OR_TYPEXPathRe ... PE = 6;XPathRe ... YPE = 6XPathRe ... OT_TYPEUNORDER ... OT_TYPEXPathRe ... PE = 7;XPathRe ... YPE = 7ORDERED ... OT_TYPEXPathRe ... PE = 8;XPathRe ... YPE = 8XPathRe ... DE_TYPEANY_UNO ... DE_TYPEXPathRe ... PE = 9;XPathRe ... YPE = 9FIRST_O ... DE_TYPEXPathNa ... lement;XPathNa ... ElementXPathNa ... ototypeXPathNa ... E = 13;XPathNa ... DE = 13XPathNa ... CE_NODEXMLHttp ... rd) {};XMLHttp ... ord) {}XMLHttp ... pe.openXMLHttp ... ue) {};XMLHttp ... lue) {}XMLHttp ... tHeaderXMLHttp ... ta) {};XMLHttp ... ata) {}XMLHttp ... pe.sendXMLHttp ... n() {};XMLHttp ... on() {}XMLHttp ... e.abortXMLHttp ... HeadersgetAllR ... HeadersXMLHttp ... er) {};XMLHttp ... der) {}XMLHttp ... eHeaderfunction(header) {}XMLHttp ... seText;XMLHttp ... nseTextXMLHttp ... nseURL;XMLHttp ... onseURLXMLHttp ... nseXML;XMLHttp ... onseXMLXMLHttp ... yState;XMLHttp ... dyStateXMLHttp ... status;XMLHttp ... .statusXMLHttp ... usText;XMLHttp ... tusTextXMLHttp ... change;XMLHttp ... echangeXMLHttp ... nerror;XMLHttp ... onerrorXMLHttp ... UNSENT;XMLHttp ... .UNSENTXMLHttp ... OPENED;XMLHttp ... .OPENEDXMLHttp ... CEIVED;XMLHttp ... ECEIVEDXMLHttp ... OADING;XMLHttp ... LOADINGXMLHttpRequest.DONE;XMLHttpRequest.DONEFormDat ... me) {};FormDat ... ame) {}FormDat ... .appendFormData.prototype/opt/dist/tools/data/externs/web/webgl.jswebgl/opt/dist/.cache/trap-cache/javascript/8756b4e111c49e561825caf35808e565c754bbca.trap.gz
 * @fileoverview Definitions for WebGL functions as described at
 * http://www.khronos.org/registry/webgl/specs/latest/
 *
 * This file is current up to the WebGL 1.0.1 spec, including extensions.
 *
 * This relies on html5.js being included for Canvas and Typed Array support.
 *
 * This includes some extensions defined at
 * http://www.khronos.org/registry/webgl/extensions/
 *
 * @externs
 
 * @type {!HTMLCanvasElement}
 
 * @return {!WebGLContextAttributes}
 * @nosideeffects
 
 * @return {!Array<string>}
 * @nosideeffects
 
 * Note that this has side effects by enabling the extension even if the
 * result is not used.
 * @param {string} name
 * @return {Object}
 
 * @param {number} texture
 * @return {undefined}
 
 * @param {WebGLProgram} program
 * @param {WebGLShader} shader
 * @return {undefined}
 
 * @param {WebGLProgram} program
 * @param {number} index
 * @param {string} name
 * @return {undefined}
 
 * @param {number} target
 * @param {WebGLBuffer} buffer
 * @return {undefined}
 
 * @param {number} target
 * @param {WebGLFramebuffer} buffer
 * @return {undefined}
 
 * @param {number} target
 * @param {WebGLRenderbuffer} buffer
 * @return {undefined}
 
 * @param {number} target
 * @param {WebGLTexture} texture
 * @return {undefined}
 
 * @param {number} red
 * @param {number} green
 * @param {number} blue
 * @param {number} alpha
 * @return {undefined}
 
 * @param {number} mode
 * @return {undefined}
 
 * @param {number} modeRGB
 * @param {number} modeAlpha
 * @return {undefined}
 
 * @param {number} sfactor
 * @param {number} dfactor
 * @return {undefined}
 
 * @param {number} srcRGB
 * @param {number} dstRGB
 * @param {number} srcAlpha
 * @param {number} dstAlpha
 * @return {undefined}
 
 * @param {number} target
 * @param {ArrayBufferView|ArrayBuffer|number} data
 * @param {number} usage
 * @return {undefined}
 
 * @param {number} target
 * @param {number} offset
 * @param {ArrayBufferView|ArrayBuffer} data
 * @return {undefined}
 
 * @param {number} target
 * @return {number}
 
 * @param {number} mask
 * @return {undefined}
 
 * @param {number} depth
 * @return {undefined}
 
 * @param {number} s
 * @return {undefined}
 
 * @param {boolean} red
 * @param {boolean} green
 * @param {boolean} blue
 * @param {boolean} alpha
 * @return {undefined}
 
 * @param {WebGLShader} shader
 * @return {undefined}
 
 * @param {number} target
 * @param {number} level
 * @param {number} internalformat
 * @param {number} width
 * @param {number} height
 * @param {number} border
 * @param {ArrayBufferView} data
 * @return {undefined}
 
 * @param {number} target
 * @param {number} level
 * @param {number} xoffset
 * @param {number} yoffset
 * @param {number} width
 * @param {number} height
 * @param {number} format
 * @param {ArrayBufferView} data
 * @return {undefined}
 
 * @param {number} target
 * @param {number} level
 * @param {number} format
 * @param {number} x
 * @param {number} y
 * @param {number} width
 * @param {number} height
 * @param {number} border
 * @return {undefined}
 
 * @param {number} target
 * @param {number} level
 * @param {number} xoffset
 * @param {number} yoffset
 * @param {number} x
 * @param {number} y
 * @param {number} width
 * @param {number} height
 * @return {undefined}
 
 * @return {!WebGLBuffer}
 * @nosideeffects
 
 * @return {!WebGLFramebuffer}
 * @nosideeffects
 
 * @return {!WebGLProgram}
 * @nosideeffects
 
 * @return {!WebGLRenderbuffer}
 * @nosideeffects
 
 * @param {number} type
 * @return {!WebGLShader}
 * @nosideeffects
 
 * @return {!WebGLTexture}
 * @nosideeffects
 
 * @param {WebGLBuffer} buffer
 * @return {undefined}
 
 * @param {WebGLFramebuffer} buffer
 * @return {undefined}
 
 * @param {WebGLProgram} program
 * @return {undefined}
 
 * @param {WebGLRenderbuffer} buffer
 * @return {undefined}
 
 * @param {WebGLTexture} texture
 * @return {undefined}
 
 * @param {number} func
 * @return {undefined}
 
 * @param {boolean} flag
 * @return {undefined}
 
 * @param {number} nearVal
 * @param {number} farVal
 * @return {undefined}
 
 * @param {number} flags
 * @return {undefined}
 
 * @param {number} index
 * @return {undefined}
 
 * @param {number} mode
 * @param {number} first
 * @param {number} count
 * @return {undefined}
 
 * @param {number} mode
 * @param {number} count
 * @param {number} type
 * @param {number} offset
 * @return {undefined}
 
 * @param {number} cap
 * @return {undefined}
 
 * @param {number} target
 * @param {number} attachment
 * @param {number} renderbuffertarget
 * @param {WebGLRenderbuffer} renderbuffer
 * @return {undefined}
 
 * @param {number} target
 * @param {number} attachment
 * @param {number} textarget
 * @param {WebGLTexture} texture
 * @param {number} level
 * @return {undefined}
 
 * @param {number} target
 * @return {undefined}
 
 * @param {WebGLProgram} program
 * @param {number} index
 * @return {WebGLActiveInfo}
 * @nosideeffects
 
 * @param {WebGLProgram} program
 * @return {!Array<WebGLShader>}
 * @nosideeffects
 
 * @param {WebGLProgram} program
 * @param {string} name
 * @return {number}
 * @nosideeffects
 
 * @param {number} target
 * @param {number} pname
 * @return {*}
 * @nosideeffects
 
 * @param {number} pname
 * @return {*}
 * @nosideeffects
 
 * @param {number} target
 * @param {number} attachment
 * @param {number} pname
 * @return {*}
 * @nosideeffects
 
 * @param {WebGLProgram} program
 * @param {number} pname
 * @return {*}
 * @nosideeffects
 
 * @param {WebGLProgram} program
 * @return {string}
 * @nosideeffects
 
 * @param {WebGLShader} shader
 * @param {number} pname
 * @return {*}
 * @nosideeffects
 
 * @param {number} shadertype
 * @param {number} precisiontype
 * @return {WebGLShaderPrecisionFormat}
 * @nosideeffects
 
 * @param {WebGLShader} shader
 * @return {string}
 * @nosideeffects
 
 * @param {WebGLProgram} program
 * @param {WebGLUniformLocation} location
 * @return {*}
 * @nosideeffects
 
 * @param {WebGLProgram} program
 * @param {string} name
 * @return {WebGLUniformLocation}
 * @nosideeffects
 
 * @param {number} index
 * @param {number} pname
 * @return {*}
 * @nosideeffects
 
 * @param {number} index
 * @param {number} pname
 * @return {number}
 * @nosideeffects
 
 * @param {number} target
 * @param {number} mode
 * @return {undefined}
 
 * @param {WebGLObject} buffer
 * @return {boolean}
 * @nosideeffects
 
 * @param {number} cap
 * @return {boolean}
 * @nosideeffects
 
 * @param {WebGLObject} framebuffer
 * @return {boolean}
 * @nosideeffects
 
 * @param {WebGLObject} program
 * @return {boolean}
 * @nosideeffects
 
 * @param {WebGLObject} renderbuffer
 * @return {boolean}
 * @nosideeffects
 
 * @param {WebGLObject} shader
 * @return {boolean}
 * @nosideeffects
 
 * @param {WebGLObject} texture
 * @return {boolean}
 * @nosideeffects
 
 * @param {number} width
 * @return {undefined}
 
 * @param {number} pname
 * @param {number} param
 * @return {undefined}
 
 * @param {number} factor
 * @param {number} units
 * @return {undefined}
 
 * @param {number} x
 * @param {number} y
 * @param {number} width
 * @param {number} height
 * @param {number} format
 * @param {number} type
 * @param {ArrayBufferView} pixels
 * @return {undefined}
 
 * @param {number} target
 * @param {number} internalformat
 * @param {number} width
 * @param {number} height
 * @return {undefined}
 
 * @param {number} coverage
 * @param {boolean} invert
 * @return {undefined}
 
 * @param {number} x
 * @param {number} y
 * @param {number} width
 * @param {number} height
 * @return {undefined}
 
 * @param {WebGLShader} shader
 * @param {string} source
 * @return {undefined}
 
 * @param {number} func
 * @param {number} ref
 * @param {number} mask
 * @return {undefined}
 
 * @param {number} face
 * @param {number} func
 * @param {number} ref
 * @param {number} mask
 * @return {undefined}
 
 * @param {number} face
 * @param {number} mask
 * @return {undefined}
 
 * @param {number} fail
 * @param {number} zfail
 * @param {number} zpass
 * @return {undefined}
 
 * @param {number} face
 * @param {number} fail
 * @param {number} zfail
 * @param {number} zpass
 * @return {undefined}
 
 * @param {number} target
 * @param {number} level
 * @param {number} internalformat
 * @param {number} format or width
 * @param {number} type or height
 * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|
 *     number} img or border
 * @param {number=} opt_format
 * @param {number=} opt_type
 * @param {ArrayBufferView=} opt_pixels
 * @return {undefined}
 
 * @param {number} target
 * @param {number} pname
 * @param {number} param
 * @return {undefined}
 
 * @param {number} target
 * @param {number} level
 * @param {number} xoffset
 * @param {number} yoffset
 * @param {number} format or width
 * @param {number} type or height
 * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|
 *     number} data or format
 * @param {number=} opt_type
 * @param {ArrayBufferView=} opt_pixels
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number} value
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {Float32Array|Array<number>} value
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number|boolean} value
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {Int32Array|Array<number>|Array<boolean>} value
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number} value1
 * @param {number} value2
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number|boolean} value1
 * @param {number|boolean} value2
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number} value1
 * @param {number} value2
 * @param {number} value3
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number|boolean} value1
 * @param {number|boolean} value2
 * @param {number|boolean} value3
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number} value1
 * @param {number} value2
 * @param {number} value3
 * @param {number} value4
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {number|boolean} value1
 * @param {number|boolean} value2
 * @param {number|boolean} value3
 * @param {number|boolean} value4
 * @return {undefined}
 
 * @param {WebGLUniformLocation} location
 * @param {boolean} transpose
 * @param {Float32Array|Array<number>} data
 * @return {undefined}
 
 * @param {number} indx
 * @param {number} x
 * @return {undefined}
 
 * @param {number} indx
 * @param {Float32Array|Array<number>} values
 * @return {undefined}
 
 * @param {number} indx
 * @param {number} x
 * @param {number} y
 * @return {undefined}
 
 * @param {number} indx
 * @param {number} x
 * @param {number} y
 * @param {number} z
 * @return {undefined}
 
 * @param {number} indx
 * @param {number} x
 * @param {number} y
 * @param {number} z
 * @param {number} w
 * @return {undefined}
 
 * @param {number} indx
 * @param {number} size
 * @param {number} type
 * @param {boolean} normalized
 * @param {number} stride
 * @param {number} offset
 * @return {undefined}
 
 * @param {string} eventType
 * @constructor
 * @noalias
 * @extends {Event}
 
 * @constructor
 * @noalias
 * @extends {WebGLObject}
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/
 * @constructor
 * @noalias
 * @extends {WebGLObject}
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/
 * @constructor
 * @noalias
 
 * @return {WebGLVertexArrayObjectOES}
 * @nosideeffects
 
 * @param {WebGLVertexArrayObjectOES} arrayObject
 * @return {undefined}
 
 * @param {WebGLVertexArrayObjectOES} arrayObject
 * @return {boolean}
 * @nosideeffects
 
 * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/
 * @constructor
 * @noalias
 
 * @see http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/
 * @constructor
 * @noalias
 
 * @see https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/
 * @constructor
 * @noalias
 
 * @param {Array<number>} buffers Draw buffers.
 * @return {undefined}
 
 * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/
 * @constructor
 * @noalias
 
 * @param {number} mode Primitive type.
 * @param {number} first First vertex.
 * @param {number} count Number of vertices per instance.
 * @param {number} primcount Number of instances.
 * @return {undefined}
 
 * @param {number} mode Primitive type.
 * @param {number} count Number of vertex indices per instance.
 * @param {number} type Type of a vertex index.
 * @param {number} offset Offset to the first vertex index.
 * @param {number} primcount Number of instances.
 * @return {undefined}
 
 * @param {number} index Attribute index.
 * @param {number} divisor Instance divisor.
 * @return {undefined}
 WebGLRenderingContextDEPTH_BUFFER_BITSTENCIL_BUFFER_BITCOLOR_BUFFER_BITPOINTSLINESLINE_LOOPLINE_STRIPTRIANGLESTRIANGLE_STRIPTRIANGLE_FANZEROONESRC_COLORONE_MINUS_SRC_COLORSRC_ALPHAONE_MINUS_SRC_ALPHADST_ALPHAONE_MINUS_DST_ALPHADST_COLORONE_MINUS_DST_COLORSRC_ALPHA_SATURATEFUNC_ADDBLEND_EQUATIONBLEND_EQUATION_RGBBLEND_EQUATION_ALPHAFUNC_SUBTRACTFUNC_REVERSE_SUBTRACTBLEND_DST_RGBBLEND_SRC_RGBBLEND_DST_ALPHABLEND_SRC_ALPHACONSTANT_COLORONE_MINUS_CONSTANT_COLORCONSTANT_ALPHAONE_MINUS_CONSTANT_ALPHABLEND_COLORARRAY_BUFFERELEMENT_ARRAY_BUFFERARRAY_BUFFER_BINDINGELEMENT_ARRAY_BUFFER_BINDINGSTREAM_DRAWSTATIC_DRAWDYNAMIC_DRAWBUFFER_SIZEBUFFER_USAGECURRENT_VERTEX_ATTRIBFRONTBACKFRONT_AND_BACKCULL_FACEBLENDDITHERSTENCIL_TESTDEPTH_TESTSCISSOR_TESTPOLYGON_OFFSET_FILLSAMPLE_ALPHA_TO_COVERAGESAMPLE_COVERAGENO_ERRORINVALID_ENUMINVALID_VALUEINVALID_OPERATIONOUT_OF_MEMORYCWCCWLINE_WIDTHALIASED_POINT_SIZE_RANGEALIASED_LINE_WIDTH_RANGECULL_FACE_MODEFRONT_FACEDEPTH_RANGEDEPTH_WRITEMASKDEPTH_CLEAR_VALUEDEPTH_FUNCSTENCIL_CLEAR_VALUESTENCIL_FUNCSTENCIL_FAILSTENCIL_PASS_DEPTH_FAILSTENCIL_PASS_DEPTH_PASSSTENCIL_REFSTENCIL_VALUE_MASKSTENCIL_WRITEMASKSTENCIL_BACK_FUNCSTENCIL_BACK_FAILSTENCIL_BACK_PASS_DEPTH_FAILSTENCIL_BACK_PASS_DEPTH_PASSSTENCIL_BACK_REFSTENCIL_BACK_VALUE_MASKSTENCIL_BACK_WRITEMASKVIEWPORTSCISSOR_BOXCOLOR_CLEAR_VALUECOLOR_WRITEMASKUNPACK_ALIGNMENTPACK_ALIGNMENTMAX_TEXTURE_SIZEMAX_VIEWPORT_DIMSSUBPIXEL_BITSRED_BITSGREEN_BITSBLUE_BITSALPHA_BITSDEPTH_BITSSTENCIL_BITSPOLYGON_OFFSET_UNITSPOLYGON_OFFSET_FACTORTEXTURE_BINDING_2DSAMPLE_BUFFERSSAMPLESSAMPLE_COVERAGE_VALUESAMPLE_COVERAGE_INVERTCOMPRESSED_TEXTURE_FORMATSDONT_CAREFASTESTNICESTGENERATE_MIPMAP_HINTBYTEUNSIGNED_BYTESHORTUNSIGNED_SHORTINTUNSIGNED_INTFLOATDEPTH_COMPONENTALPHARGBRGBALUMINANCELUMINANCE_ALPHAUNSIGNED_SHORT_4_4_4_4UNSIGNED_SHORT_5_5_5_1UNSIGNED_SHORT_5_6_5FRAGMENT_SHADERVERTEX_SHADERMAX_VERTEX_ATTRIBSMAX_VERTEX_UNIFORM_VECTORSMAX_VARYING_VECTORSMAX_COMBINED_TEXTURE_IMAGE_UNITSMAX_VERTEX_TEXTURE_IMAGE_UNITSMAX_TEXTURE_IMAGE_UNITSMAX_FRAGMENT_UNIFORM_VECTORSSHADER_TYPEDELETE_STATUSLINK_STATUSVALIDATE_STATUSATTACHED_SHADERSACTIVE_UNIFORMSACTIVE_ATTRIBUTESSHADING_LANGUAGE_VERSIONCURRENT_PROGRAMNEVERLESSEQUALLEQUALGREATERNOTEQUALGEQUALALWAYSKEEPREPLACEINCRDECRINVERTINCR_WRAPDECR_WRAPVENDORRENDERERVERSIONNEARESTLINEARNEAREST_MIPMAP_NEARESTLINEAR_MIPMAP_NEARESTNEAREST_MIPMAP_LINEARLINEAR_MIPMAP_LINEARTEXTURE_MAG_FILTERTEXTURE_MIN_FILTERTEXTURE_WRAP_STEXTURE_WRAP_TTEXTURE_2DTEXTURETEXTURE_CUBE_MAPTEXTURE_BINDING_CUBE_MAPTEXTURE_CUBE_MAP_POSITIVE_XTEXTURE_CUBE_MAP_NEGATIVE_XTEXTURE_CUBE_MAP_POSITIVE_YTEXTURE_CUBE_MAP_NEGATIVE_YTEXTURE_CUBE_MAP_POSITIVE_ZTEXTURE_CUBE_MAP_NEGATIVE_ZMAX_CUBE_MAP_TEXTURE_SIZETEXTURE0TEXTURE1TEXTURE2TEXTURE3TEXTURE4TEXTURE5TEXTURE6TEXTURE7TEXTURE8TEXTURE9TEXTURE10TEXTURE11TEXTURE12TEXTURE13TEXTURE14TEXTURE15TEXTURE16TEXTURE17TEXTURE18TEXTURE19TEXTURE20TEXTURE21TEXTURE22TEXTURE23TEXTURE24TEXTURE25TEXTURE26TEXTURE27TEXTURE28TEXTURE29TEXTURE30TEXTURE31ACTIVE_TEXTUREREPEATCLAMP_TO_EDGEMIRRORED_REPEATFLOAT_VEC2FLOAT_VEC3FLOAT_VEC4INT_VEC2INT_VEC3INT_VEC4BOOLBOOL_VEC2BOOL_VEC3BOOL_VEC4FLOAT_MAT2FLOAT_MAT3FLOAT_MAT4SAMPLER_2DSAMPLER_CUBEVERTEX_ATTRIB_ARRAY_ENABLEDVERTEX_ATTRIB_ARRAY_SIZEVERTEX_ATTRIB_ARRAY_STRIDEVERTEX_ATTRIB_ARRAY_TYPEVERTEX_ATTRIB_ARRAY_NORMALIZEDVERTEX_ATTRIB_ARRAY_POINTERVERTEX_ATTRIB_ARRAY_BUFFER_BINDINGIMPLEMENTATION_COLOR_READ_FORMATIMPLEMENTATION_COLOR_READ_TYPECOMPILE_STATUSLOW_FLOATMEDIUM_FLOATHIGH_FLOATLOW_INTMEDIUM_INTHIGH_INTFRAMEBUFFERRENDERBUFFERRGBA4RGB5_A1RGB565DEPTH_COMPONENT16STENCIL_INDEXSTENCIL_INDEX8DEPTH_STENCILRENDERBUFFER_WIDTHRENDERBUFFER_HEIGHTRENDERBUFFER_INTERNAL_FORMATRENDERBUFFER_RED_SIZERENDERBUFFER_GREEN_SIZERENDERBUFFER_BLUE_SIZERENDERBUFFER_ALPHA_SIZERENDERBUFFER_DEPTH_SIZERENDERBUFFER_STENCIL_SIZEFRAMEBUFFER_ATTACHMENT_OBJECT_TYPEFRAMEBUFFER_ATTACHMENT_OBJECT_NAMEFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVELFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACECOLOR_ATTACHMENT0DEPTH_ATTACHMENTSTENCIL_ATTACHMENTDEPTH_STENCIL_ATTACHMENTNONEFRAMEBUFFER_COMPLETEFRAMEBUFFER_INCOMPLETE_ATTACHMENTFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTFRAMEBUFFER_INCOMPLETE_DIMENSIONSFRAMEBUFFER_UNSUPPORTEDFRAMEBUFFER_BINDINGRENDERBUFFER_BINDINGMAX_RENDERBUFFER_SIZEINVALID_FRAMEBUFFER_OPERATIONUNPACK_FLIP_Y_WEBGLUNPACK_PREMULTIPLY_ALPHA_WEBGLCONTEXT_LOST_WEBGLUNPACK_COLORSPACE_CONVERSION_WEBGLBROWSER_DEFAULT_WEBGLdrawingBufferWidthdrawingBufferHeightgetContextAttributesisContextLostgetSupportedExtensionsgetExtensionactiveTexturetextureattachShaderprogramshaderbindAttribLocationbindBufferbindFramebufferbindRenderbufferbindTextureblendColorblendEquationblendEquationSeparatemodeRGBmodeAlphablendFuncsfactordfactorblendFuncSeparatesrcRGBdstRGBsrcAlphadstAlphabufferDatabufferSubDatacheckFramebufferStatusclearColorclearDepthclearStencilcolorMaskcompileShadercompressedTexImage2DinternalformatcompressedTexSubImage2DxoffsetyoffsetcopyTexImage2DcopyTexSubImage2DcreateBuffercreateFramebuffercreateProgramcreateRenderbuffercreateShadercreateTexturecullFacedeleteBufferdeleteFramebufferdeleteProgramdeleteRenderbufferdeleteShaderdeleteTexturedepthFuncdepthMaskdepthRangenearValfarValdetachShaderdisableVertexAttribArraydrawArraysdrawElementscapenableVertexAttribArrayfinishframebufferRenderbufferattachmentrenderbuffertargetrenderbufferframebufferTexture2DtextargetfrontFacegenerateMipmapgetActiveAttribgetActiveUniformgetAttachedShadersgetAttribLocationgetBufferParameterpnamegetErrorgetFramebufferAttachmentParametergetProgramParametergetProgramInfoLoggetRenderbufferParametergetShaderParametergetShaderPrecisionFormatshadertypeprecisiontypegetShaderInfoLoggetShaderSourcegetTexParametergetUniformgetUniformLocationgetVertexAttribgetVertexAttribOffsethintisEnabledisFramebufferframebufferisProgramisRenderbufferisShaderisTexturelinkProgrampixelStoreipolygonOffsetfactorunitsreadPixelspixelsrenderbufferStoragesampleCoveragecoveragescissorshaderSourcestencilFuncstencilFuncSeparatestencilMaskstencilMaskSeparatestencilOpzfailzpassstencilOpSeparatetexImage2Dopt_pixelstexParameterftexParameteritexSubImage2Duniform1funiform1fvuniform1iuniform1ivuniform2funiform2fvuniform2iuniform2ivuniform3fvalue3uniform3fvuniform3iuniform3ivuniform4fvalue4uniform4fvuniform4iuniform4ivuniformMatrix2fvtransposeuniformMatrix3fvuniformMatrix4fvuseProgramvalidateProgramvertexAttrib1findxvertexAttrib1fvvertexAttrib2fvertexAttrib2fvvertexAttrib3fvertexAttrib3fvvertexAttrib4fvertexAttrib4fvvertexAttribPointernormalizedstrideviewportWebGLContextAttributesstencilantialiaspremultipliedAlphapreserveDrawingBufferpreferLowPowerToHighPerformancefailIfMajorPerformanceCaveatWebGLContextEventWebGLShaderPrecisionFormatrangeMinrangeMaxprecisionWebGLObjectWebGLBufferWebGLFramebufferWebGLProgramWebGLRenderbufferWebGLShaderWebGLTextureWebGLActiveInfoWebGLUniformLocationOES_texture_floatOES_texture_half_floatHALF_FLOAT_OESWEBGL_lose_contextloseContextrestoreContextOES_standard_derivativesFRAGMENT_SHADER_DERIVATIVE_HINT_OESWebGLVertexArrayObjectOESOES_vertex_array_objectVERTEX_ARRAY_BINDING_OEScreateVertexArrayOESdeleteVertexArrayOESarrayObjectisVertexArrayOESbindVertexArrayOESWEBGL_debug_renderer_infoUNMASKED_VENDOR_WEBGLUNMASKED_RENDERER_WEBGLWEBGL_debug_shadersgetTranslatedShaderSourceWEBGL_compressed_texture_s3tcCOMPRESSED_RGB_S3TC_DXT1_EXTCOMPRESSED_RGBA_S3TC_DXT1_EXTCOMPRESSED_RGBA_S3TC_DXT3_EXTCOMPRESSED_RGBA_S3TC_DXT5_EXTOES_depth_textureOES_element_index_uintEXT_texture_filter_anisotropicTEXTURE_MAX_ANISOTROPY_EXTMAX_TEXTURE_MAX_ANISOTROPY_EXTWEBGL_draw_buffersCOLOR_ATTACHMENT0_WEBGLCOLOR_ATTACHMENT1_WEBGLCOLOR_ATTACHMENT2_WEBGLCOLOR_ATTACHMENT3_WEBGLCOLOR_ATTACHMENT4_WEBGLCOLOR_ATTACHMENT5_WEBGLCOLOR_ATTACHMENT6_WEBGLCOLOR_ATTACHMENT7_WEBGLCOLOR_ATTACHMENT8_WEBGLCOLOR_ATTACHMENT9_WEBGLCOLOR_ATTACHMENT10_WEBGLCOLOR_ATTACHMENT11_WEBGLCOLOR_ATTACHMENT12_WEBGLCOLOR_ATTACHMENT13_WEBGLCOLOR_ATTACHMENT14_WEBGLCOLOR_ATTACHMENT15_WEBGLDRAW_BUFFER0_WEBGLDRAW_BUFFER1_WEBGLDRAW_BUFFER2_WEBGLDRAW_BUFFER3_WEBGLDRAW_BUFFER4_WEBGLDRAW_BUFFER5_WEBGLDRAW_BUFFER6_WEBGLDRAW_BUFFER7_WEBGLDRAW_BUFFER8_WEBGLDRAW_BUFFER9_WEBGLDRAW_BUFFER10_WEBGLDRAW_BUFFER11_WEBGLDRAW_BUFFER12_WEBGLDRAW_BUFFER13_WEBGLDRAW_BUFFER14_WEBGLDRAW_BUFFER15_WEBGLMAX_COLOR_ATTACHMENTS_WEBGLMAX_DRAW_BUFFERS_WEBGLdrawBuffersWEBGLbuffersANGLE_instanced_arraysVERTEX_ATTRIB_ARRAY_DIVISOR_ANGLEdrawArraysInstancedANGLEprimcountdrawElementsInstancedANGLEvertexAttribDivisorANGLEdivisorDefinitions for WebGL functions as described at
http://www.khronos.org/registry/webgl/specs/latest/
* This file is current up to the WebGL 1.0.1 spec, including extensions.
* This relies on html5.js being included for Canvas and Typed Array support.
* This includes some extensions defined at
http://www.khronos.org/registry/webgl/extensions/
*!WebGLContextAttributesNote that this has side effects by enabling the extension even if the
result is not used.(ArrayBufferView|ArrayBuffer|number)(ArrayBufferView|ArrayBuffer)!WebGLBuffer!WebGLFramebuffer!WebGLProgram!WebGLRenderbuffer!WebGLShader!WebGLTexture!Array.<WebGLShader>Array.<WebGLShader>or width
or height
or border
(ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|number)ArrayBufferView=or format
(Float32Array|Array.<number>)(number|boolean)(Int32Array|Array.<number>|Array.<boolean>)http://www.khronos.org/registry/webgl/extensions/OES_texture_float/
http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/
http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/
http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/
http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/
http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/
http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/
http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/
http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/
http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/
http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/
https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/
Draw buffers.
http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/
Primitive type.
First vertex.
Number of vertices per instance.
Number of instances.
Number of vertex indices per instance.
Type of a vertex index.
Offset to the first vertex index.
Attribute index.
Instance divisor.
functio ... xt() {}WebGLRe ... ContextWebGLRe ... ER_BIT;WebGLRe ... FER_BITWebGLRe ... POINTS;WebGLRe ... .POINTSWebGLRe ... .LINES;WebGLRe ... t.LINESWebGLRe ... E_LOOP;WebGLRe ... NE_LOOPWebGLRe ... _STRIP;WebGLRe ... E_STRIPWebGLRe ... ANGLES;WebGLRe ... IANGLESWebGLRe ... LE_FAN;WebGLRe ... GLE_FANWebGLRe ... t.ZERO;WebGLRe ... xt.ZEROWebGLRe ... xt.ONE;WebGLRe ... ext.ONEWebGLRe ... _COLOR;WebGLRe ... C_COLORWebGLRe ... _ALPHA;WebGLRe ... C_ALPHAWebGLRe ... T_ALPHAWebGLRe ... T_COLORWebGLRe ... TURATE;WebGLRe ... ATURATEWebGLRe ... NC_ADD;WebGLRe ... UNC_ADDWebGLRe ... UATION;WebGLRe ... QUATIONWebGLRe ... ON_RGB;WebGLRe ... ION_RGBWebGLRe ... N_ALPHAWebGLRe ... BTRACT;WebGLRe ... UBTRACTFUNC_RE ... UBTRACTWebGLRe ... ST_RGB;WebGLRe ... DST_RGBWebGLRe ... RC_RGB;WebGLRe ... SRC_RGBONE_MIN ... T_COLORONE_MIN ... T_ALPHAWebGLRe ... D_COLORWebGLRe ... BUFFER;WebGLRe ... _BUFFERWebGLRe ... INDING;WebGLRe ... BINDINGELEMENT ... BINDINGWebGLRe ... M_DRAW;WebGLRe ... AM_DRAWWebGLRe ... C_DRAW;WebGLRe ... IC_DRAWWebGLRe ... R_SIZE;WebGLRe ... ER_SIZEWebGLRe ... _USAGE;WebGLRe ... R_USAGEWebGLRe ... ATTRIB;WebGLRe ... _ATTRIBCURRENT ... _ATTRIBWebGLRe ... .FRONT;WebGLRe ... t.FRONTWebGLRe ... t.BACK;WebGLRe ... xt.BACKWebGLRe ... D_BACK;WebGLRe ... ND_BACKWebGLRe ... L_FACE;WebGLRe ... LL_FACEWebGLRe ... .BLEND;WebGLRe ... t.BLENDWebGLRe ... DITHER;WebGLRe ... .DITHERWebGLRe ... L_TEST;WebGLRe ... IL_TESTWebGLRe ... H_TEST;WebGLRe ... TH_TESTWebGLRe ... R_TEST;WebGLRe ... OR_TESTWebGLRe ... T_FILL;WebGLRe ... ET_FILLWebGLRe ... VERAGE;WebGLRe ... OVERAGESAMPLE_ ... OVERAGEWebGLRe ... _ERROR;WebGLRe ... O_ERRORWebGLRe ... D_ENUM;WebGLRe ... ID_ENUMWebGLRe ... _VALUE;WebGLRe ... D_VALUEWebGLRe ... RATION;WebGLRe ... ERATIONWebGLRe ... MEMORY;WebGLRe ... _MEMORYWebGLRe ... ext.CW;WebGLRe ... text.CWWebGLRe ... xt.CCW;WebGLRe ... ext.CCWWebGLRe ... _WIDTH;WebGLRe ... E_WIDTHWebGLRe ... _RANGE;WebGLRe ... E_RANGEALIASED ... E_RANGEWebGLRe ... H_RANGEALIASED ... H_RANGEWebGLRe ... E_MODE;WebGLRe ... CE_MODEWebGLRe ... T_FACE;WebGLRe ... NT_FACEWebGLRe ... TEMASK;WebGLRe ... ITEMASKWebGLRe ... R_VALUEWebGLRe ... H_FUNC;WebGLRe ... TH_FUNCWebGLRe ... L_FUNC;WebGLRe ... IL_FUNCWebGLRe ... L_FAIL;WebGLRe ... IL_FAILWebGLRe ... H_FAIL;WebGLRe ... TH_FAILSTENCIL ... TH_FAILWebGLRe ... H_PASS;WebGLRe ... TH_PASSSTENCIL ... TH_PASSWebGLRe ... IL_REF;WebGLRe ... CIL_REFWebGLRe ... E_MASK;WebGLRe ... UE_MASKWebGLRe ... K_FUNC;WebGLRe ... CK_FUNCWebGLRe ... K_FAIL;WebGLRe ... CK_FAILWebGLRe ... CK_REF;WebGLRe ... ACK_REFSTENCIL ... UE_MASKSTENCIL ... ITEMASKWebGLRe ... EWPORT;WebGLRe ... IEWPORTWebGLRe ... OR_BOX;WebGLRe ... SOR_BOXWebGLRe ... GNMENT;WebGLRe ... IGNMENTWebGLRe ... E_SIZE;WebGLRe ... RE_SIZEWebGLRe ... T_DIMS;WebGLRe ... RT_DIMSWebGLRe ... L_BITS;WebGLRe ... EL_BITSWebGLRe ... D_BITS;WebGLRe ... ED_BITSWebGLRe ... N_BITS;WebGLRe ... EN_BITSWebGLRe ... E_BITS;WebGLRe ... UE_BITSWebGLRe ... A_BITS;WebGLRe ... HA_BITSWebGLRe ... H_BITS;WebGLRe ... TH_BITSWebGLRe ... IL_BITSWebGLRe ... _UNITS;WebGLRe ... T_UNITSWebGLRe ... FACTOR;WebGLRe ... _FACTORPOLYGON ... _FACTORWebGLRe ... ING_2D;WebGLRe ... DING_2DWebGLRe ... UFFERS;WebGLRe ... BUFFERSWebGLRe ... AMPLES;WebGLRe ... SAMPLESWebGLRe ... E_VALUESAMPLE_ ... E_VALUEWebGLRe ... INVERT;WebGLRe ... _INVERTSAMPLE_ ... _INVERTWebGLRe ... ORMATS;WebGLRe ... FORMATSCOMPRES ... FORMATSWebGLRe ... T_CARE;WebGLRe ... NT_CAREWebGLRe ... ASTEST;WebGLRe ... FASTESTWebGLRe ... NICEST;WebGLRe ... .NICESTWebGLRe ... P_HINT;WebGLRe ... AP_HINTWebGLRe ... t.BYTE;WebGLRe ... xt.BYTEWebGLRe ... D_BYTE;WebGLRe ... ED_BYTEWebGLRe ... .SHORT;WebGLRe ... t.SHORTWebGLRe ... _SHORT;WebGLRe ... D_SHORTWebGLRe ... xt.INT;WebGLRe ... ext.INTWebGLRe ... ED_INT;WebGLRe ... NED_INTWebGLRe ... .FLOAT;WebGLRe ... t.FLOATWebGLRe ... PONENT;WebGLRe ... MPONENTWebGLRe ... .ALPHA;WebGLRe ... t.ALPHAWebGLRe ... xt.RGB;WebGLRe ... ext.RGBWebGLRe ... t.RGBA;WebGLRe ... xt.RGBAWebGLRe ... INANCE;WebGLRe ... MINANCEWebGLRe ... E_ALPHAWebGLRe ... _4_4_4;WebGLRe ... 4_4_4_4UNSIGNE ... 4_4_4_4WebGLRe ... _5_5_1;WebGLRe ... 5_5_5_1UNSIGNE ... 5_5_5_1WebGLRe ... _5_6_5;WebGLRe ... T_5_6_5WebGLRe ... SHADER;WebGLRe ... _SHADERWebGLRe ... TTRIBS;WebGLRe ... ATTRIBSWebGLRe ... ECTORS;WebGLRe ... VECTORSMAX_VER ... VECTORSWebGLRe ... E_UNITSMAX_COM ... E_UNITSMAX_VER ... E_UNITSMAX_TEX ... E_UNITSMAX_FRA ... VECTORSWebGLRe ... R_TYPE;WebGLRe ... ER_TYPEWebGLRe ... STATUS;WebGLRe ... _STATUSWebGLRe ... HADERS;WebGLRe ... SHADERSWebGLRe ... IFORMS;WebGLRe ... NIFORMSWebGLRe ... IBUTES;WebGLRe ... RIBUTESWebGLRe ... ERSION;WebGLRe ... VERSIONSHADING ... VERSIONWebGLRe ... ROGRAM;WebGLRe ... PROGRAMWebGLRe ... .NEVER;WebGLRe ... t.NEVERWebGLRe ... t.LESS;WebGLRe ... xt.LESSWebGLRe ... .EQUAL;WebGLRe ... t.EQUALWebGLRe ... LEQUAL;WebGLRe ... .LEQUALWebGLRe ... REATER;WebGLRe ... GREATERWebGLRe ... TEQUAL;WebGLRe ... OTEQUALWebGLRe ... GEQUAL;WebGLRe ... .GEQUALWebGLRe ... ALWAYS;WebGLRe ... .ALWAYSWebGLRe ... t.KEEP;WebGLRe ... xt.KEEPWebGLRe ... EPLACE;WebGLRe ... REPLACEWebGLRe ... t.INCR;WebGLRe ... xt.INCRWebGLRe ... t.DECR;WebGLRe ... xt.DECRWebGLRe ... .INVERTWebGLRe ... R_WRAP;WebGLRe ... CR_WRAPWebGLRe ... VENDOR;WebGLRe ... .VENDORWebGLRe ... NDERER;WebGLRe ... ENDERERWebGLRe ... EAREST;WebGLRe ... NEARESTWebGLRe ... LINEAR;WebGLRe ... .LINEARNEAREST ... NEARESTLINEAR_ ... NEARESTWebGLRe ... _LINEARNEAREST ... _LINEARWebGLRe ... FILTER;WebGLRe ... _FILTERWebGLRe ... WRAP_S;WebGLRe ... _WRAP_SWebGLRe ... WRAP_T;WebGLRe ... _WRAP_TWebGLRe ... URE_2D;WebGLRe ... TURE_2DWebGLRe ... EXTURE;WebGLRe ... TEXTUREWebGLRe ... BE_MAP;WebGLRe ... UBE_MAPTEXTURE ... UBE_MAPWebGLRe ... TIVE_X;WebGLRe ... ITIVE_XTEXTURE ... ITIVE_XWebGLRe ... ATIVE_XTEXTURE ... ATIVE_XWebGLRe ... TIVE_Y;WebGLRe ... ITIVE_YTEXTURE ... ITIVE_YWebGLRe ... ATIVE_YTEXTURE ... ATIVE_YWebGLRe ... TIVE_Z;WebGLRe ... ITIVE_ZTEXTURE ... ITIVE_ZWebGLRe ... ATIVE_ZTEXTURE ... ATIVE_ZMAX_CUB ... RE_SIZEWebGLRe ... XTURE0;WebGLRe ... EXTURE0WebGLRe ... XTURE1;WebGLRe ... EXTURE1WebGLRe ... XTURE2;WebGLRe ... EXTURE2WebGLRe ... XTURE3;WebGLRe ... EXTURE3WebGLRe ... XTURE4;WebGLRe ... EXTURE4WebGLRe ... XTURE5;WebGLRe ... EXTURE5WebGLRe ... XTURE6;WebGLRe ... EXTURE6WebGLRe ... XTURE7;WebGLRe ... EXTURE7WebGLRe ... XTURE8;WebGLRe ... EXTURE8WebGLRe ... XTURE9;WebGLRe ... EXTURE9WebGLRe ... TURE10;WebGLRe ... XTURE10WebGLRe ... TURE11;WebGLRe ... XTURE11WebGLRe ... TURE12;WebGLRe ... XTURE12WebGLRe ... TURE13;WebGLRe ... XTURE13WebGLRe ... TURE14;WebGLRe ... XTURE14WebGLRe ... TURE15;WebGLRe ... XTURE15WebGLRe ... TURE16;WebGLRe ... XTURE16WebGLRe ... TURE17;WebGLRe ... XTURE17WebGLRe ... TURE18;WebGLRe ... XTURE18WebGLRe ... TURE19;WebGLRe ... XTURE19WebGLRe ... TURE20;WebGLRe ... XTURE20WebGLRe ... TURE21;WebGLRe ... XTURE21WebGLRe ... TURE22;WebGLRe ... XTURE22WebGLRe ... TURE23;WebGLRe ... XTURE23WebGLRe ... TURE24;WebGLRe ... XTURE24WebGLRe ... TURE25;WebGLRe ... XTURE25WebGLRe ... TURE26;WebGLRe ... XTURE26WebGLRe ... TURE27;WebGLRe ... XTURE27WebGLRe ... TURE28;WebGLRe ... XTURE28WebGLRe ... TURE29;WebGLRe ... XTURE29WebGLRe ... TURE30;WebGLRe ... XTURE30WebGLRe ... TURE31;WebGLRe ... XTURE31WebGLRe ... REPEAT;WebGLRe ... .REPEATWebGLRe ... O_EDGE;WebGLRe ... TO_EDGEWebGLRe ... _REPEATWebGLRe ... T_VEC2;WebGLRe ... AT_VEC2WebGLRe ... T_VEC3;WebGLRe ... AT_VEC3WebGLRe ... T_VEC4;WebGLRe ... AT_VEC4WebGLRe ... NT_VEC2WebGLRe ... NT_VEC3WebGLRe ... NT_VEC4WebGLRe ... t.BOOL;WebGLRe ... xt.BOOLWebGLRe ... L_VEC2;WebGLRe ... OL_VEC2WebGLRe ... L_VEC3;WebGLRe ... OL_VEC3WebGLRe ... L_VEC4;WebGLRe ... OL_VEC4WebGLRe ... T_MAT2;WebGLRe ... AT_MAT2WebGLRe ... T_MAT3;WebGLRe ... AT_MAT3WebGLRe ... T_MAT4;WebGLRe ... AT_MAT4WebGLRe ... LER_2D;WebGLRe ... PLER_2DWebGLRe ... R_CUBE;WebGLRe ... ER_CUBEWebGLRe ... NABLED;WebGLRe ... ENABLEDVERTEX_ ... ENABLEDWebGLRe ... Y_SIZE;WebGLRe ... AY_SIZEVERTEX_ ... AY_SIZEWebGLRe ... STRIDE;WebGLRe ... _STRIDEVERTEX_ ... _STRIDEWebGLRe ... Y_TYPE;WebGLRe ... AY_TYPEVERTEX_ ... AY_TYPEWebGLRe ... ALIZED;WebGLRe ... MALIZEDVERTEX_ ... MALIZEDWebGLRe ... OINTER;WebGLRe ... POINTERVERTEX_ ... POINTERVERTEX_ ... BINDINGWebGLRe ... FORMAT;WebGLRe ... _FORMATIMPLEME ... _FORMATWebGLRe ... D_TYPE;WebGLRe ... AD_TYPEIMPLEME ... AD_TYPEWebGLRe ... _FLOAT;WebGLRe ... W_FLOATWebGLRe ... M_FLOATWebGLRe ... H_FLOATWebGLRe ... OW_INT;WebGLRe ... LOW_INTWebGLRe ... UM_INT;WebGLRe ... IUM_INTWebGLRe ... GH_INT;WebGLRe ... IGH_INTWebGLRe ... EBUFFERWebGLRe ... RBUFFERWebGLRe ... .RGBA4;WebGLRe ... t.RGBA4WebGLRe ... GB5_A1;WebGLRe ... RGB5_A1WebGLRe ... RGB565;WebGLRe ... .RGB565WebGLRe ... NENT16;WebGLRe ... ONENT16WebGLRe ... _INDEX;WebGLRe ... L_INDEXWebGLRe ... INDEX8;WebGLRe ... _INDEX8WebGLRe ... TENCIL;WebGLRe ... STENCILWebGLRe ... R_WIDTHWebGLRe ... HEIGHT;WebGLRe ... _HEIGHTRENDERB ... _FORMATWebGLRe ... D_SIZE;WebGLRe ... ED_SIZERENDERB ... ED_SIZEWebGLRe ... N_SIZE;WebGLRe ... EN_SIZERENDERB ... EN_SIZEWebGLRe ... UE_SIZERENDERB ... UE_SIZEWebGLRe ... A_SIZE;WebGLRe ... HA_SIZERENDERB ... HA_SIZEWebGLRe ... H_SIZE;WebGLRe ... TH_SIZERENDERB ... TH_SIZEWebGLRe ... L_SIZE;WebGLRe ... IL_SIZERENDERB ... IL_SIZEWebGLRe ... T_TYPE;WebGLRe ... CT_TYPEFRAMEBU ... CT_TYPEWebGLRe ... T_NAME;WebGLRe ... CT_NAMEFRAMEBU ... CT_NAMEWebGLRe ... _LEVEL;WebGLRe ... E_LEVELFRAMEBU ... E_LEVELWebGLRe ... P_FACE;WebGLRe ... AP_FACEFRAMEBU ... AP_FACEWebGLRe ... HMENT0;WebGLRe ... CHMENT0WebGLRe ... CHMENT;WebGLRe ... ACHMENTDEPTH_S ... ACHMENTWebGLRe ... t.NONE;WebGLRe ... xt.NONEWebGLRe ... MPLETE;WebGLRe ... OMPLETEFRAMEBU ... ACHMENTWebGLRe ... NSIONS;WebGLRe ... ENSIONSFRAMEBU ... ENSIONSWebGLRe ... PORTED;WebGLRe ... PPORTEDFRAMEBU ... PPORTEDMAX_REN ... ER_SIZEINVALID ... ERATIONWebGLRe ... _WEBGL;WebGLRe ... Y_WEBGLWebGLRe ... A_WEBGLUNPACK_ ... A_WEBGLWebGLRe ... T_WEBGLWebGLRe ... N_WEBGLUNPACK_ ... N_WEBGLBROWSER ... T_WEBGLWebGLRe ... ototypeWebGLRe ... e.LINESWebGLRe ... e.ZERO;WebGLRe ... pe.ZEROWebGLRe ... pe.ONE;WebGLRe ... ype.ONEWebGLRe ... e.FRONTWebGLRe ... e.BACK;WebGLRe ... pe.BACKWebGLRe ... e.BLENDWebGLRe ... ype.CW;WebGLRe ... type.CWWebGLRe ... pe.CCW;WebGLRe ... ype.CCWWebGLRe ... e.BYTE;WebGLRe ... pe.BYTEWebGLRe ... e.SHORTWebGLRe ... pe.INT;WebGLRe ... ype.INTWebGLRe ... e.FLOATWebGLRe ... e.ALPHAWebGLRe ... pe.RGB;WebGLRe ... ype.RGBWebGLRe ... e.RGBA;WebGLRe ... pe.RGBAWebGLRe ... e.NEVERWebGLRe ... e.LESS;WebGLRe ... pe.LESSWebGLRe ... e.EQUALWebGLRe ... e.KEEP;WebGLRe ... pe.KEEPWebGLRe ... e.INCR;WebGLRe ... pe.INCRWebGLRe ... e.DECR;WebGLRe ... pe.DECRWebGLRe ... e.BOOL;WebGLRe ... pe.BOOLWebGLRe ... e.RGBA4WebGLRe ... e.NONE;WebGLRe ... pe.NONEWebGLRe ... canvas;WebGLRe ... .canvasWebGLRe ... rWidth;WebGLRe ... erWidthWebGLRe ... Height;WebGLRe ... rHeightWebGLRe ... n() {};WebGLRe ... on() {}WebGLRe ... ributesWebGLRe ... extLostWebGLRe ... ensionsgetSupp ... ensionsWebGLRe ... me) {};WebGLRe ... ame) {}WebGLRe ... tensionWebGLRe ... re) {};WebGLRe ... ure) {}WebGLRe ... Texturefunction(texture) {}WebGLRe ... er) {};WebGLRe ... der) {}WebGLRe ... hShaderfunctio ... der) {}WebGLRe ... ocationWebGLRe ... fer) {}WebGLRe ... dBufferWebGLRe ... ebufferWebGLRe ... rbufferWebGLRe ... ha) {};WebGLRe ... pha) {}WebGLRe ... ndColorfunctio ... pha) {}WebGLRe ... de) {};WebGLRe ... ode) {}WebGLRe ... quationWebGLRe ... eparateblendEq ... eparateWebGLRe ... or) {};WebGLRe ... tor) {}WebGLRe ... endFuncWebGLRe ... ge) {};WebGLRe ... age) {}WebGLRe ... ferDataWebGLRe ... ta) {};WebGLRe ... ata) {}WebGLRe ... SubDataWebGLRe ... et) {};WebGLRe ... get) {}WebGLRe ... rStatuscheckFr ... rStatusWebGLRe ... sk) {};WebGLRe ... ask) {}WebGLRe ... e.clearWebGLRe ... arColorWebGLRe ... th) {};WebGLRe ... pth) {}WebGLRe ... arDepthfunction(depth) {}WebGLRe ... (s) {};WebGLRe ... n(s) {}WebGLRe ... StencilWebGLRe ... lorMaskWebGLRe ... eShaderfunction(shader) {}WebGLRe ... Image2Dcompres ... Image2DWebGLRe ... ht) {};WebGLRe ... ght) {}WebGLRe ... eBufferWebGLRe ... ProgramWebGLRe ... pe) {};WebGLRe ... ype) {}WebGLRe ... ullFaceWebGLRe ... am) {};WebGLRe ... ram) {}function(program) {}WebGLRe ... nc) {};WebGLRe ... unc) {}WebGLRe ... pthFuncfunction(func) {}WebGLRe ... ag) {};WebGLRe ... lag) {}WebGLRe ... pthMaskWebGLRe ... al) {};WebGLRe ... Val) {}WebGLRe ... thRangefunctio ... Val) {}WebGLRe ... gs) {};WebGLRe ... ags) {}WebGLRe ... disableWebGLRe ... ex) {};WebGLRe ... dex) {}WebGLRe ... ibArraydisable ... ibArrayWebGLRe ... nt) {};WebGLRe ... unt) {}WebGLRe ... wArraysWebGLRe ... set) {}WebGLRe ... lementsWebGLRe ... ap) {};WebGLRe ... cap) {}WebGLRe ... .enablefunction(cap) {}enableV ... ibArrayWebGLRe ... .finishWebGLRe ... e.flushframebu ... rbufferWebGLRe ... el) {};WebGLRe ... vel) {}WebGLRe ... xture2DWebGLRe ... ontFaceWebGLRe ... eMipmapWebGLRe ... eAttribWebGLRe ... UniformWebGLRe ... ShadersWebGLRe ... rameterfunction(pname) {}WebGLRe ... etErrorgetFram ... rameterWebGLRe ... InfoLoggetRend ... rameterWebGLRe ... nFormatgetShad ... nFormatWebGLRe ... rSourceWebGLRe ... on) {};WebGLRe ... ion) {}WebGLRe ... xAttribWebGLRe ... bOffsetgetVert ... bOffsetWebGLRe ... pe.hintWebGLRe ... sBufferWebGLRe ... EnabledWebGLRe ... sShaderWebGLRe ... dth) {}WebGLRe ... neWidthfunction(width) {}WebGLRe ... lStoreiWebGLRe ... ts) {};WebGLRe ... its) {}WebGLRe ... nOffsetWebGLRe ... ls) {};WebGLRe ... els) {}WebGLRe ... dPixelsfunctio ... els) {}WebGLRe ... StorageWebGLRe ... rt) {};WebGLRe ... ert) {}WebGLRe ... overageWebGLRe ... scissorWebGLRe ... ce) {};WebGLRe ... rce) {}WebGLRe ... cilFuncfunctio ... ask) {}WebGLRe ... cilMaskWebGLRe ... ss) {};WebGLRe ... ass) {}WebGLRe ... encilOpfunctio ... ass) {}WebGLRe ... ameterfWebGLRe ... ameteriWebGLRe ... ue) {};WebGLRe ... lue) {}WebGLRe ... iform1fWebGLRe ... form1fvWebGLRe ... iform1iWebGLRe ... form1ivWebGLRe ... e2) {};WebGLRe ... ue2) {}WebGLRe ... iform2fWebGLRe ... form2fvWebGLRe ... iform2iWebGLRe ... form2ivWebGLRe ... e3) {};WebGLRe ... ue3) {}WebGLRe ... iform3ffunctio ... ue3) {}WebGLRe ... form3fvWebGLRe ... iform3iWebGLRe ... form3ivWebGLRe ... e4) {};WebGLRe ... ue4) {}WebGLRe ... iform4ffunctio ... ue4) {}WebGLRe ... form4fvWebGLRe ... iform4iWebGLRe ... form4ivWebGLRe ... trix2fvWebGLRe ... trix3fvWebGLRe ... trix4fvWebGLRe ...  x) {};WebGLRe ... , x) {}WebGLRe ... ttrib1ffunction(indx, x) {}WebGLRe ... es) {};WebGLRe ... ues) {}WebGLRe ... trib1fvfunctio ... ues) {}WebGLRe ...  y) {};WebGLRe ... , y) {}WebGLRe ... ttrib2fWebGLRe ... trib2fvWebGLRe ...  z) {};WebGLRe ... , z) {}WebGLRe ... ttrib3ffunctio ... , z) {}WebGLRe ... trib3fvWebGLRe ...  w) {};WebGLRe ... , w) {}WebGLRe ... ttrib4ffunctio ... , w) {}WebGLRe ... trib4fvWebGLRe ... PointerWebGLRe ... iewportWebGLCo ... ributesWebGLCo ... .alpha;WebGLCo ... e.alphaWebGLCo ... ototypeWebGLCo ... .depth;WebGLCo ... e.depthWebGLCo ... tencil;WebGLCo ... stencilWebGLCo ... ialias;WebGLCo ... tialiasWebGLCo ... dAlpha;WebGLCo ... edAlphaWebGLCo ... Buffer;WebGLCo ... gBufferpreserv ... gBufferWebGLCo ... rmance;WebGLCo ... ormancepreferL ... ormanceWebGLCo ... Caveat;WebGLCo ... eCaveatfailIfM ... eCaveatWebGLCo ... essage;WebGLCo ... Messagefunctio ... at() {}WebGLSh ... nFormatWebGLSh ... ngeMin;WebGLSh ... angeMinWebGLSh ... ototypeWebGLSh ... ngeMax;WebGLSh ... angeMaxWebGLSh ... cision;WebGLSh ... ecisionWebGLAc ... e.size;WebGLAc ... pe.sizeWebGLAc ... ototypeWebGLAc ... e.type;WebGLAc ... pe.typeWebGLAc ... e.name;WebGLAc ... pe.nameOES_tex ... f_floatOES_tex ... AT_OES;OES_tex ... OAT_OESOES_tex ... ototypeWEBGL_l ... n() {};WEBGL_l ... on() {}WEBGL_l ... ContextWEBGL_l ... ototypeOES_sta ... vativesOES_sta ... NT_OES;OES_sta ... INT_OESOES_sta ... ototypeFRAGMEN ... INT_OESfunctio ... ES() {}WebGLVe ... jectOESOES_ver ... _objectOES_ver ... NG_OES;OES_ver ... ING_OESOES_ver ... ototypeVERTEX_ ... ING_OESOES_ver ... n() {};OES_ver ... on() {}OES_ver ... rrayOESOES_ver ... ct) {};OES_ver ... ect) {}WEBGL_d ... er_infoWEBGL_d ... _WEBGL;WEBGL_d ... R_WEBGLWEBGL_d ... ototypeUNMASKE ... R_WEBGLWEBGL_d ... er) {};WEBGL_d ... der) {}WEBGL_d ... rSourcegetTran ... rSourcefunctio ... tc() {}WEBGL_c ... re_s3tcWEBGL_c ... T1_EXT;WEBGL_c ... XT1_EXTWEBGL_c ... ototypeCOMPRES ... XT1_EXTWEBGL_c ... T3_EXT;WEBGL_c ... XT3_EXTCOMPRES ... XT3_EXTWEBGL_c ... T5_EXT;WEBGL_c ... XT5_EXTCOMPRES ... XT5_EXTOES_ele ... ex_uintfunctio ... ic() {}EXT_tex ... otropicEXT_tex ... PY_EXT;EXT_tex ... OPY_EXTEXT_tex ... ototypeTEXTURE ... OPY_EXTMAX_TEX ... OPY_EXTWEBGL_d ... 0_WEBGLCOLOR_A ... 0_WEBGLWEBGL_d ... 1_WEBGLCOLOR_A ... 1_WEBGLWEBGL_d ... 2_WEBGLCOLOR_A ... 2_WEBGLWEBGL_d ... 3_WEBGLCOLOR_A ... 3_WEBGLWEBGL_d ... 4_WEBGLCOLOR_A ... 4_WEBGLWEBGL_d ... 5_WEBGLCOLOR_A ... 5_WEBGLWEBGL_d ... 6_WEBGLCOLOR_A ... 6_WEBGLWEBGL_d ... 7_WEBGLCOLOR_A ... 7_WEBGLWEBGL_d ... 8_WEBGLCOLOR_A ... 8_WEBGLWEBGL_d ... 9_WEBGLCOLOR_A ... 9_WEBGLWEBGL_d ... S_WEBGLMAX_COL ... S_WEBGLMAX_DRA ... S_WEBGLWEBGL_d ... rs) {};WEBGL_d ... ers) {}WEBGL_d ... rsWEBGLfunction(buffers) {}functio ... ys() {}ANGLE_i ... _arraysANGLE_i ... _ANGLE;ANGLE_i ... R_ANGLEANGLE_i ... ototypeVERTEX_ ... R_ANGLEANGLE_i ... nt) {};ANGLE_i ... unt) {}ANGLE_i ... edANGLEdrawArr ... edANGLEdrawEle ... edANGLEANGLE_i ... or) {};ANGLE_i ... sor) {}ANGLE_i ... orANGLEvertexA ... orANGLE/opt/dist/tools/data/externs/web/webkit_css.jswebkit_css/opt/dist/.cache/trap-cache/javascript/8a635ac359e125a99042b906df79adc045e5953b.trap.gz
 * @fileoverview Definitions for WebKit's custom CSS properties. Copied from:
 * {@link
 * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}
 *
 * If you make changes to this file, notice that every property appears
 * twice: once as an uppercase name and once as a lowercase name.
 * WebKit allows both. The uppercase version is preferred.
 *
 * @externs
 * @author nicksantos@google.com (Nick Santos)
  WebKit also adds bindings for the lowercase versions of these properties.// WebK ... erties. The uppercase version is preferred.// The  ... ferred.
 * @constructor
 * @param {number} x
 * @param {number} y
 /**\n *  ... } y\n */WebkitAlignContentWebkitAlignItemsWebkitAlignSelfWebkitAnimationWebkitAnimationDelayWebkitAnimationDirectionWebkitAnimationDurationWebkitAnimationFillModeWebkitAnimationIterationCountWebkitAnimationNameWebkitAnimationPlayStateWebkitAnimationTimingFunctionWebkitAppearanceWebkitAppRegionWebkitAspectRatioWebkitBackfaceVisibilityWebkitBackgroundClipWebkitBackgroundCompositeWebkitBackgroundOriginWebkitBackgroundSizeWebkitBindingWebkitBlendModeWebkitBorderAfterWebkitBorderAfterColorWebkitBorderAfterStyleWebkitBorderAfterWidthWebkitBorderBeforeWebkitBorderBeforeColorWebkitBorderBeforeStyleWebkitBorderBeforeWidthWebkitBorderBottomLeftRadiusWebkitBorderBottomRightRadiusWebkitBorderEndWebkitBorderEndColorWebkitBorderEndStyleWebkitBorderEndWidthWebkitBorderFitWebkitBorderHorizontalSpacingWebkitBorderImageWebkitBorderRadiusWebkitBorderStartWebkitBorderStartColorWebkitBorderStartStyleWebkitBorderStartWidthWebkitBorderTopLeftRadiusWebkitBorderTopRightRadiusWebkitBorderVerticalSpacingWebkitBoxAlignWebkitBoxDecorationBreakWebkitBoxDirectionWebkitBoxFlexWebkitBoxFlexGroupWebkitBoxLinesWebkitBoxOrdinalGroupWebkitBoxOrientWebkitBoxPackWebkitBoxReflectWebkitBoxShadowWebkitBoxSizingWebkitColorCorrectionWebkitColumnAxisWebkitColumnBreakAfterWebkitColumnBreakBeforeWebkitColumnBreakInsideWebkitColumnCountWebkitColumnGapWebkitColumnProgressionWebkitColumnRuleWebkitColumnRuleColorWebkitColumnRuleStyleWebkitColumnRuleWidthWebkitColumnsWebkitColumnSpanWebkitColumnWidthWebkitDashboardRegionWebkitFilterWebkitFlexWebkitFlexBasisWebkitFlexDirectionWebkitFlexFlowWebkitFlexGrowWebkitFlexShrinkWebkitFlexWrapWebkitFlowFromWebkitFlowIntoWebkitFontSizeDeltaWebkitFontSmoothingWebkitGridColumnWebkitGridColumnsWebkitGridRowWebkitGridRowsWebkitHighlightWebkitHyphenateCharacterWebkitHyphenateLimitAfterWebkitHyphenateLimitBeforeWebkitHyphenateLimitLinesWebkitHyphensWebkitJustifyContentWebkitLineAlignWebkitLineBoxContainWebkitLineBreakWebkitLineClampWebkitLineGridWebkitLineSnapWebkitLocaleWebkitLogicalHeightWebkitLogicalWidthWebkitMarginAfterWebkitMarginAfterCollapseWebkitMarginBeforeWebkitMarginBeforeCollapseWebkitMarginBottomCollapseWebkitMarginCollapseWebkitMarginEndWebkitMarginStartWebkitMarginTopCollapseWebkitMarqueeWebkitMarqueeDirectionWebkitMarqueeIncrementWebkitMarqueeRepetitionWebkitMarqueeSpeedWebkitMarqueeStyleWebkitMaskWebkitMaskAttachmentWebkitMaskBoxImageWebkitMaskBoxImageOutsetWebkitMaskBoxImageRepeatWebkitMaskBoxImageSliceWebkitMaskBoxImageSourceWebkitMaskBoxImageWidthWebkitMaskClipWebkitMaskCompositeWebkitMaskImageWebkitMaskOriginWebkitMaskPositionWebkitMaskPositionXWebkitMaskPositionYWebkitMaskRepeatWebkitMaskRepeatXWebkitMaskRepeatYWebkitMaskSizeWebkitMatchNearestMailBlockquoteColorWebkitMaxLogicalHeightWebkitMaxLogicalWidthWebkitMinLogicalHeightWebkitMinLogicalWidthWebkitNbspModeWebkitOrderWebkitOverflowScrollingWebkitPaddingAfterWebkitPaddingBeforeWebkitPaddingEndWebkitPaddingStartWebkitPerspectiveWebkitPerspectiveOriginWebkitPerspectiveOriginXWebkitPerspectiveOriginYWebkitPrintColorAdjustWebkitRegionBreakAfterWebkitRegionBreakBeforeWebkitRegionBreakInsideWebkitRegionOverflowWebkitRtlOrderingWebkitRubyPositionWebkitShapeInsideWebkitShapeMarginWebkitShapeOutsideWebkitShapePaddingWebkitTapHighlightColorWebkitTextAlignLastWebkitTextCombineWebkitTextDecorationLineWebkitTextDecorationsInEffectWebkitTextDecorationStyleWebkitTextEmphasisWebkitTextEmphasisColorWebkitTextEmphasisPositionWebkitTextEmphasisStyleWebkitTextFillColorWebkitTextOrientationWebkitTextSecurityWebkitTextSizeAdjustWebkitTextStrokeWebkitTextStrokeColorWebkitTextStrokeWidthWebkitTransformWebkitTransformOriginWebkitTransformOriginXWebkitTransformOriginYWebkitTransformOriginZWebkitTransformStyleWebkitTransitionWebkitTransitionDelayWebkitTransitionDurationWebkitTransitionPropertyWebkitTransitionRepeatCountWebkitTransitionTimingFunctionWebkitUserDragWebkitUserModifyWebkitUserSelectWebkitWrapWebkitWrapFlowWebkitWrapThroughWebkitWritingModewebkitAlignContentwebkitAlignItemswebkitAlignSelfwebkitAnimationwebkitAnimationDelaywebkitAnimationDirectionwebkitAnimationDurationwebkitAnimationFillModewebkitAnimationIterationCountwebkitAnimationNamewebkitAnimationPlayStatewebkitAnimationTimingFunctionwebkitAppearancewebkitAppRegionwebkitAspectRatiowebkitBackfaceVisibilitywebkitBackgroundClipwebkitBackgroundCompositewebkitBackgroundOriginwebkitBackgroundSizewebkitBindingwebkitBlendModewebkitBorderAfterwebkitBorderAfterColorwebkitBorderAfterStylewebkitBorderAfterWidthwebkitBorderBeforewebkitBorderBeforeColorwebkitBorderBeforeStylewebkitBorderBeforeWidthwebkitBorderBottomLeftRadiuswebkitBorderBottomRightRadiuswebkitBorderEndwebkitBorderEndColorwebkitBorderEndStylewebkitBorderEndWidthwebkitBorderFitwebkitBorderHorizontalSpacingwebkitBorderImagewebkitBorderRadiuswebkitBorderStartwebkitBorderStartColorwebkitBorderStartStylewebkitBorderStartWidthwebkitBorderTopLeftRadiuswebkitBorderTopRightRadiuswebkitBorderVerticalSpacingwebkitBoxAlignwebkitBoxDecorationBreakwebkitBoxDirectionwebkitBoxFlexwebkitBoxFlexGroupwebkitBoxLineswebkitBoxOrdinalGroupwebkitBoxOrientwebkitBoxPackwebkitBoxReflectwebkitBoxShadowwebkitBoxSizingwebkitColorCorrectionwebkitColumnAxiswebkitColumnBreakAfterwebkitColumnBreakBeforewebkitColumnBreakInsidewebkitColumnCountwebkitColumnGapwebkitColumnProgressionwebkitColumnRulewebkitColumnRuleColorwebkitColumnRuleStylewebkitColumnRuleWidthwebkitColumnswebkitColumnSpanwebkitColumnWidthwebkitDashboardRegionwebkitFilterwebkitFlexwebkitFlexBasiswebkitFlexDirectionwebkitFlexFlowwebkitFlexGrowwebkitFlexShrinkwebkitFlexWrapwebkitFlowFromwebkitFlowIntowebkitFontSizeDeltawebkitFontSmoothingwebkitGridColumnwebkitGridColumnswebkitGridRowwebkitGridRowswebkitHighlightwebkitHyphenateCharacterwebkitHyphenateLimitAfterwebkitHyphenateLimitBeforewebkitHyphenateLimitLineswebkitHyphenswebkitJustifyContentwebkitLineAlignwebkitLineBoxContainwebkitLineBreakwebkitLineClampwebkitLineGridwebkitLineSnapwebkitLocalewebkitLogicalHeightwebkitLogicalWidthwebkitMarginAfterwebkitMarginAfterCollapsewebkitMarginBeforewebkitMarginBeforeCollapsewebkitMarginBottomCollapsewebkitMarginCollapsewebkitMarginEndwebkitMarginStartwebkitMarginTopCollapsewebkitMarqueewebkitMarqueeDirectionwebkitMarqueeIncrementwebkitMarqueeRepetitionwebkitMarqueeSpeedwebkitMarqueeStylewebkitMaskwebkitMaskAttachmentwebkitMaskBoxImagewebkitMaskBoxImageOutsetwebkitMaskBoxImageRepeatwebkitMaskBoxImageSlicewebkitMaskBoxImageSourcewebkitMaskBoxImageWidthwebkitMaskClipwebkitMaskCompositewebkitMaskImagewebkitMaskOriginwebkitMaskPositionwebkitMaskPositionXwebkitMaskPositionYwebkitMaskRepeatwebkitMaskRepeatXwebkitMaskRepeatYwebkitMaskSizewebkitMatchNearestMailBlockquoteColorwebkitMaxLogicalHeightwebkitMaxLogicalWidthwebkitMinLogicalHeightwebkitMinLogicalWidthwebkitNbspModewebkitOrderwebkitOverflowScrollingwebkitPaddingAfterwebkitPaddingBeforewebkitPaddingEndwebkitPaddingStartwebkitPerspectivewebkitPerspectiveOriginwebkitPerspectiveOriginXwebkitPerspectiveOriginYwebkitPrintColorAdjustwebkitRegionBreakAfterwebkitRegionBreakBeforewebkitRegionBreakInsidewebkitRegionOverflowwebkitRtlOrderingwebkitRubyPositionwebkitShapeInsidewebkitShapeMarginwebkitShapeOutsidewebkitShapePaddingwebkitTapHighlightColorwebkitTextAlignLastwebkitTextCombinewebkitTextDecorationLinewebkitTextDecorationsInEffectwebkitTextDecorationStylewebkitTextEmphasiswebkitTextEmphasisColorwebkitTextEmphasisPositionwebkitTextEmphasisStylewebkitTextFillColorwebkitTextOrientationwebkitTextSecuritywebkitTextSizeAdjustwebkitTextStrokewebkitTextStrokeColorwebkitTextStrokeWidthwebkitTransformwebkitTransformOriginwebkitTransformOriginXwebkitTransformOriginYwebkitTransformOriginZwebkitTransformStylewebkitTransitionwebkitTransitionDelaywebkitTransitionDurationwebkitTransitionPropertywebkitTransitionRepeatCountwebkitTransitionTimingFunctionwebkitUserDragwebkitUserModifywebkitUserSelectwebkitWrapwebkitWrapFlowwebkitWrapThroughwebkitWritingModeWebKitPointDefinitions for WebKit's custom CSS properties. Copied from:
{@link
http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}
* If you make changes to this file, notice that every property appears
twice: once as an uppercase name and once as a lowercase name.
WebKit allows both. The uppercase version is preferred.
*CSSProp ... mation;CSSProp ... imationWebkitA ... rectionWebkitA ... urationCSSProp ... llMode;CSSProp ... illModeWebkitA ... illModeCSSProp ... onCountWebkitA ... onCountCSSProp ... onName;CSSProp ... ionNameCSSProp ... yState;CSSProp ... ayStateWebkitA ... ayStateWebkitA ... unctionCSSProp ... pRegionCSSProp ... tRatio;CSSProp ... ctRatioWebkitB ... ibilityCSSProp ... posite;CSSProp ... mpositeWebkitB ... mpositeWebkitB ... dOriginCSSProp ... ndMode;CSSProp ... endModeCSSProp ... rAfter;CSSProp ... erAfterWebkitB ... erColorWebkitB ... erStyleWebkitB ... erWidthCSSProp ... rBeforeCSSProp ... reColorWebkitB ... reColorCSSProp ... reStyleWebkitB ... reStyleCSSProp ... reWidthWebkitB ... reWidthWebkitB ... tRadiusCSSProp ... derFit;CSSProp ... rderFitWebkitB ... SpacingWebkitB ... rtColorWebkitB ... rtStyleWebkitB ... rtWidthCSSProp ... nBreak;CSSProp ... onBreakWebkitB ... onBreakCSSProp ... xGroup;CSSProp ... exGroupCSSProp ... xLines;CSSProp ... oxLinesWebkitB ... alGroupCSSProp ... eflect;CSSProp ... ReflectWebkitC ... rectionCSSProp ... mnAxis;CSSProp ... umnAxisWebkitC ... akAfterWebkitC ... kBeforeWebkitC ... kInsideWebkitC ... ressionWebkitC ... leColorWebkitC ... leStyleWebkitC ... leWidthCSSProp ... olumns;CSSProp ... ColumnsCSSProp ... mnSpan;CSSProp ... umnSpanCSSProp ... dRegionWebkitD ... dRegionCSSProp ... tFilterCSSProp ... itFlex;CSSProp ... kitFlexCSSProp ... owFrom;CSSProp ... lowFromCSSProp ... owInto;CSSProp ... lowIntoCSSProp ... eDelta;CSSProp ... zeDeltaCSSProp ... othing;CSSProp ... oothingCSSProp ... Column;CSSProp ... dColumnCSSProp ... ridRow;CSSProp ... GridRowCSSProp ... idRows;CSSProp ... ridRowsCSSProp ... hlight;CSSProp ... ghlightCSSProp ... racter;CSSProp ... aracterWebkitH ... aracterCSSProp ... tAfter;CSSProp ... itAfterWebkitH ... itAfterCSSProp ... tBeforeWebkitH ... tBeforeCSSProp ... tLines;CSSProp ... itLinesWebkitH ... itLinesCSSProp ... yphens;CSSProp ... HyphensCSSProp ... eAlign;CSSProp ... neAlignCSSProp ... ontain;CSSProp ... ContainCSSProp ... eClamp;CSSProp ... neClampCSSProp ... neGrid;CSSProp ... ineGridCSSProp ... neSnap;CSSProp ... ineSnapCSSProp ... Locale;CSSProp ... tLocaleCSSProp ... alWidthCSSProp ... nAfter;CSSProp ... inAfterWebkitM ... ollapseCSSProp ... nBeforeCSSProp ... arquee;CSSProp ... MarqueeWebkitM ... rectionWebkitM ... crementCSSProp ... tition;CSSProp ... etitionWebkitM ... etitionCSSProp ... eSpeed;CSSProp ... eeSpeedCSSProp ... eeStyleCSSProp ... itMask;CSSProp ... kitMaskCSSProp ... xImage;CSSProp ... oxImageWebkitM ... eOutsetWebkitM ... eRepeatWebkitM ... geSliceWebkitM ... eSourceWebkitM ... geWidthCSSProp ... skClip;CSSProp ... askClipCSSProp ... kImage;CSSProp ... skImageCSSProp ... kOriginCSSProp ... kRepeatCSSProp ... epeatX;CSSProp ... RepeatXCSSProp ... epeatY;CSSProp ... RepeatYCSSProp ... skSize;CSSProp ... askSizeCSSProp ... teColorWebkitM ... teColorWebkitM ... lHeightWebkitM ... alWidthCSSProp ... spMode;CSSProp ... bspModeCSSProp ... tOrder;CSSProp ... itOrderCSSProp ... olling;CSSProp ... rollingWebkitO ... rollingCSSProp ... gAfter;CSSProp ... ngAfterCSSProp ... gBeforeWebkitP ... eOriginCSSProp ... riginX;CSSProp ... OriginXWebkitP ... OriginXCSSProp ... riginY;CSSProp ... OriginYWebkitP ... OriginYCSSProp ... rAdjustWebkitP ... rAdjustWebkitR ... akAfterWebkitR ... kBeforeWebkitR ... kInsideCSSProp ... dering;CSSProp ... rderingCSSProp ... eInsideCSSProp ... Margin;CSSProp ... eMarginCSSProp ... utside;CSSProp ... OutsideCSSProp ... PaddingWebkitT ... htColorCSSProp ... ombine;CSSProp ... CombineCSSProp ... onLine;CSSProp ... ionLineWebkitT ... ionLineCSSProp ... Effect;CSSProp ... nEffectWebkitT ... nEffectCSSProp ... nStyle;CSSProp ... onStyleWebkitT ... onStyleCSSProp ... phasis;CSSProp ... mphasisCSSProp ... sColor;CSSProp ... isColorWebkitT ... isColorWebkitT ... ositionCSSProp ... sStyle;CSSProp ... isStyleWebkitT ... isStyleCSSProp ... lColor;CSSProp ... llColorCSSProp ... tation;CSSProp ... ntationWebkitT ... ntationCSSProp ... curity;CSSProp ... ecurityCSSProp ... Stroke;CSSProp ... tStrokeCSSProp ... keColorWebkitT ... keColorCSSProp ... keWidthWebkitT ... keWidthWebkitT ... mOriginWebkitT ... OriginXWebkitT ... OriginYCSSProp ... riginZ;CSSProp ... OriginZWebkitT ... OriginZWebkitT ... onDelayWebkitT ... urationWebkitT ... ropertyCSSProp ... tCount;CSSProp ... atCountWebkitT ... atCountWebkitT ... unctionCSSProp ... erDrag;CSSProp ... serDragCSSProp ... itWrap;CSSProp ... kitWrapCSSProp ... apFlow;CSSProp ... rapFlowCSSProp ... hrough;CSSProp ... ThroughwebkitA ... rectionwebkitA ... urationwebkitA ... illModewebkitA ... onCountwebkitA ... ayStatewebkitA ... unctionwebkitB ... ibilitywebkitB ... mpositewebkitB ... dOriginwebkitB ... erColorwebkitB ... erStylewebkitB ... erWidthwebkitB ... reColorwebkitB ... reStylewebkitB ... reWidthwebkitB ... tRadiuswebkitB ... SpacingwebkitB ... rtColorwebkitB ... rtStylewebkitB ... rtWidthwebkitB ... onBreakwebkitB ... alGroupwebkitC ... rectionwebkitC ... akAfterwebkitC ... kBeforewebkitC ... kInsidewebkitC ... ressionwebkitC ... leColorwebkitC ... leStylewebkitC ... leWidthwebkitD ... dRegionwebkitH ... aracterwebkitH ... itAfterwebkitH ... tBeforewebkitH ... itLineswebkitM ... ollapsewebkitM ... rectionwebkitM ... crementwebkitM ... etitionwebkitM ... eOutsetwebkitM ... eRepeatwebkitM ... geSlicewebkitM ... eSourcewebkitM ... geWidthwebkitM ... teColorwebkitM ... lHeightwebkitM ... alWidthwebkitO ... rollingwebkitP ... eOriginwebkitP ... OriginXwebkitP ... OriginYwebkitP ... rAdjustwebkitR ... akAfterwebkitR ... kBeforewebkitR ... kInsidewebkitT ... htColorwebkitT ... ionLinewebkitT ... nEffectwebkitT ... onStylewebkitT ... isColorwebkitT ... ositionwebkitT ... isStylewebkitT ... ntationwebkitT ... keColorwebkitT ... keWidthwebkitT ... mOriginwebkitT ... OriginXwebkitT ... OriginYwebkitT ... OriginZwebkitT ... onDelaywebkitT ... urationwebkitT ... ropertywebkitT ... atCountwebkitT ... unctionWebKitP ... type.x;WebKitP ... otype.xWebKitP ... ototypeWebKitP ... type.y;WebKitP ... otype.y/opt/dist/tools/data/externs/web/webkit_dom.jswebkit_dom/opt/dist/.cache/trap-cache/javascript/888dffd68073fed31cf77b60e3b7e357d86e2a57.trap.gz
 * @fileoverview Definitions for all the extensions over W3C's DOM
 *  specification by WebKit. This file depends on w3c_dom2.js.
 *  All the provided definitions has been type annotated
 *
 * @externs
 
 * @param {boolean=} opt_center
 * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510
 * @return {undefined}
 
 * @constructor
 * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl
 * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpp
 /**\n *  ... cpp\n */
 * @constructor
 * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl
  @type {Array<ScriptProfileNode>} 
 * @constructor
 * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl
  @type {ScriptProfileNode} 
 * @constructor
 * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl
 * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cpp
 
 * @param {*} condition
 * @param {...*} var_args
 * @return {undefined}
 
 * @param {...*} var_args
 * @return {undefined}
 
 * @param {*} value
 * @return {undefined}
 
 * @param {!Object} data
 * @param {*=} opt_columns
 * @return {undefined}
 
 * @param {string=} opt_title
 * @return {undefined}
  @type {Array<ScriptProfile>} /** @ty ... le>} */ @type {MemoryInfo} /** @ty ... nfo} */
 * @type {!Console}
 * @suppress {duplicate}
 
 * @type {number}
 * @see http://developer.android.com/reference/android/webkit/WebView.html
 
 * @param {Node} baseNode
 * @param {number} baseOffset
 * @param {Node} extentNode
 * @param {number} extentOffset
 * @return {undefined}
 
 * @param {string} alter
 * @param {string} direction
 * @param {string} granularity
 * @return {undefined}
 
 * @param {Element} element
 * @param {string} pseudoElement
 * @param {boolean=} opt_authorOnly
 * @return {CSSRuleList}
 * @nosideeffects
 
 * @param {string} contextId
 * @param {string} name
 * @param {number} width
 * @param {number} height
 * @nosideeffects
 * @return {undefined}
 
 * @param {number} x
 * @param {number} y
 * @return {?Range}
 * @nosideeffects
 * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint
 scrollIntoViewIfNeededopt_centerMemoryInfoScriptProfileNodefunctionNametotalTimeselfTimenumberOfCallsvisiblecallUIDScriptProfileprofilesdevicePixelRatiobaseNodebaseOffsetextentNodeextentOffsetsetBaseAndExtentmodifyaltergranularitygetMatchedCSSRulespseudoElementopt_authorOnlygetCSSCanvasContextcaretRangeFromPointDefinitions for all the extensions over W3C's DOM
specification by WebKit. This file depends on w3c_dom2.js.
All the provided definitions has been type annotated
*https://bugzilla.mozilla.org/show_bug.cgi?id=403510
http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl
http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpphttp://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idlArray.<ScriptProfileNode>http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idlhttp://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl
http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cppArray.<ScriptProfile>http://developer.android.com/reference/android/webkit/WebView.html?Rangehttps://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPointElement ... er) {};Element ... ter) {}Element ... fNeededscrollI ... fNeededMemoryI ... apSize;MemoryI ... eapSizeMemoryInfo.prototypeMemoryI ... eLimit;MemoryI ... zeLimitScriptP ... onName;ScriptP ... ionNameScriptP ... ototypeScriptP ... pe.url;ScriptP ... ype.urlScriptP ... Number;ScriptP ... eNumberScriptP ... alTime;ScriptP ... talTimeScriptP ... lfTime;ScriptP ... elfTimeScriptP ... fCalls;ScriptP ... OfCallsScriptP ... ildren;ScriptP ... hildrenScriptP ... isible;ScriptP ... visibleScriptP ... allUID;ScriptP ... callUIDScriptP ... .title;ScriptP ... e.titleScriptP ... pe.uid;ScriptP ... ype.uidScriptP ... e.head;ScriptP ... pe.headConsole ... ofiles;Console ... rofilesConsole ... memory;Console ... .memoryWindow. ... onsole;Window. ... consolevar console;Window. ... lRatio;Window. ... elRatioSelecti ... seNode;Selecti ... aseNodeSelecti ... eOffsetSelecti ... ntNode;Selecti ... entNodeSelecti ... tOffsetSelecti ... e.type;Selecti ... pe.typeSelecti ... e.emptySelecti ... dExtentSelecti ... ty) {};Selecti ... ity) {}Selecti ... .modifyViewCSS ... ly) {};ViewCSS ... nly) {}ViewCSS ... SSRulesDocumen ... ht) {};Documen ... ght) {}Documen ... Context/opt/dist/tools/data/externs/web/webkit_event.jswebkit_event/opt/dist/.cache/trap-cache/javascript/8b0c186ae440133c8ad6f81a81c4669ee6106aee.trap.gz
 * @fileoverview Definitions for all the extensions over W3C's
 *  event specification by WebKit. This file depends on w3c_event.js.
 *  All the provided definitions have been type annotated
 *
 * @externs
 
 * @constructor
 * @extends {Event}
 * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html
 wheelDeltaXwheelDeltaYWebKitAnimationEventanimationNameelapsedTimeDefinitions for all the extensions over W3C's
event specification by WebKit. This file depends on w3c_event.js.
All the provided definitions have been type annotated
*http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.htmlEvent.p ... DeltaX;Event.p ... lDeltaXEvent.p ... DeltaY;Event.p ... lDeltaYWebKitA ... onName;WebKitA ... ionNameWebKitA ... ototypeWebKitA ... edTime;WebKitA ... sedTime/opt/dist/tools/data/externs/web/webkit_notifications.jswebkit_notifications/opt/dist/.cache/trap-cache/javascript/4c34e0a347d91f26b021e77015306244fb862ab0.trap.gz
 * @fileoverview Definitions for W3C's Notifications specification.
 * @externs
 
 * @typedef {{dir: (string|undefined), lang: (string|undefined),
 *            body: (string|undefined), tag: (string|undefined),
 *            icon: (string|undefined),
 *            requireInteraction: (boolean|undefined),
 *            actions: (!Array<!NotificationAction>|undefined)}}
 * @see http://notifications.spec.whatwg.org/#notificationoptions
 
 * @typedef {{action: string, title: string, icon: (string|undefined)}}
 * @see https://notifications.spec.whatwg.org/#dictdef-notificationoptions
 
 * @typedef {{tag: (string|undefined)}}
 * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions
  @interface /** @interface */
 * @param {string} title
 * @param {NotificationOptions=} opt_options
 * @constructor
 * @implements {EventTarget}
 * @see http://notifications.spec.whatwg.org/#notification
 
 * @param {NotificationPermissionCallback=} opt_callback
 * @return {!Promise<string>}
 
 * The string used by clients to identify the notification.
 * @type {string}
 
 * The ID used by clients to uniquely identify notifications to eliminate
 * duplicate notifications.
 * @type {string}
 * @deprecated Use NotificationOptions.tag instead.
 
 * The string used by clients to specify the directionality (rtl/ltr) of the
 * notification.
 * @type {string}
 * @deprecated Use NotificationOptions.titleDir and bodyDir instead.
 
 * Displays the notification.
 * @return {undefined}
 
 * Prevents the notification from being displayed, or closes it if it is already
 * displayed.
 * @return {undefined}
 
 * An event handler called when notification is closed.
 * @type {?function(Event)}
 
 * An event handler called if the notification could not be displayed due to
 * an error (i.e. resource could not be loaded).
 * @type {?function(Event)}
 
 * An event handler called when the notification has become visible.
 * @type {?function(Event)}
 * @deprecated Use onshow instead.
 
 * An event handler called when the notification has become visible.
 * @type {?function(Event)}
 
 * An event handler called when the notification has been clicked on.
 * @type {?function(Event)}
 
 * @typedef {function(string)}
 * @see http://notifications.spec.whatwg.org/#notificationpermissioncallback
 
 * @constructor
 * @see http://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if
 * @deprecated Use Notification instead.
 
 * Creates a text+icon notification and displays it to the user.
 * @param {string} iconUrl
 * @param {string} title
 * @param {string} body
 * @return {Notification}
 
 * Creates an HTML notification and displays it to the user.
 * @param {string} url
 * @return {Notification}
 
 * Checks if the user has permission to display notifications.
 * @return {number}
 
 * Requests permission from the user to display notifications.
 * @param {Function=} opt_callback
 * @return {void}
 
 * WebKit browsers expose the NotificationCenter API through
 * window.webkitNotifications.
 * @type {NotificationCenter}
 
 * @see https://notifications.spec.whatwg.org/#notificationevent
 * @constructor
 * @param {string} type
 * @param {!ExtendableEventInit=} opt_eventInitDict
 * @extends {ExtendableEvent}
  @type {?Notification} NotificationActionNotificationOptionsInterface_requireInteractionrequestPermissionreplaceIdondisplayonshowNotificationPermissionCallbackNotificationCentercreateNotificationiconUrlcreateHTMLNotificationcheckPermissionwebkitNotificationsNotificationEventnotificationDefinitions for W3C's Notifications specification.
{dir: (string|undefined), lang: (string|undefined), body: (string|undefined), tag: (string|undefined), icon: (string|undefined), requireInteraction: (boolean|undefined), actions: (!Array.<!NotificationAction>|undefined)}actions(!Array.<!NotificationAction>|undefined)!Array.<!NotificationAction>Array.<!NotificationAction>!NotificationActionhttp://notifications.spec.whatwg.org/#notificationoptions{action: string, title: string, icon: (string|undefined)}https://notifications.spec.whatwg.org/#dictdef-notificationoptions{tag: (string|undefined)}https://notifications.spec.whatwg.org/#dictdef-getnotificationoptionshttp://notifications.spec.whatwg.org/#notificationNotificationPermissionCallback=The string used by clients to identify the notification.The ID used by clients to uniquely identify notifications to eliminate
duplicate notifications.Use NotificationOptions.tag instead.The string used by clients to specify the directionality (rtl/ltr) of the
notification.Use NotificationOptions.titleDir and bodyDir instead.Displays the notification.Prevents the notification from being displayed, or closes it if it is already
displayed.An event handler called when notification is closed.An event handler called if the notification could not be displayed due to
an error (i.e. resource could not be loaded).An event handler called when the notification has become visible.Use onshow instead.An event handler called when the notification has been clicked on.http://notifications.spec.whatwg.org/#notificationpermissioncallbackhttp://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if
Use Notification instead.Creates a text+icon notification and displays it to the user.Creates an HTML notification and displays it to the user.Checks if the user has permission to display notifications.Requests permission from the user to display notifications.WebKit browsers expose the NotificationCenter API through
window.webkitNotifications.https://notifications.spec.whatwg.org/#notificationevent
var Not ... ptions;var Not ... Action;GetNoti ... Optionsvar Not ... on() {}Notific ... on() {}Notific ... erface_Notific ... pe.dir;Notific ... ype.dirNotific ... ototypeNotific ... e.lang;Notific ... pe.langNotific ... e.body;Notific ... pe.bodyNotific ... pe.tag;Notific ... ype.tagNotific ... e.icon;Notific ... pe.iconNotific ... action;Notific ... ractionNotific ... ission;Notific ... missionNotific ... ck) {};Notific ... ack) {}Notific ... re) {};Notific ... ure) {}Notific ... istenerNotific ... vt) {};Notific ... evt) {}Notific ... chEventNotific ... .title;Notific ... e.titleNotific ... laceId;Notific ... placeIdNotific ... n() {};Notific ... pe.showNotific ... .cancelNotific ... e.closeNotific ... nclose;Notific ... oncloseNotific ... nerror;Notific ... onerrorNotific ... isplay;Notific ... displayNotific ... onshow;Notific ... .onshowNotific ... nclick;Notific ... onclickvar Not ... llback;Notific ... allbackNotific ... dy) {};Notific ... ody) {}Notific ... icationfunctio ... ody) {}Notific ... rl) {};Notific ... url) {}createH ... icationWindow. ... ations;Window. ... cationsNotific ... cation;/opt/dist/tools/data/externs/web/webkit_usercontent.jswebkit_usercontent/opt/dist/.cache/trap-cache/javascript/17f0bf03022e1f987fd21f0d8b106b5bee52cab7.trap.gz
 * @fileoverview Definitions for WKWebView's User Content interface.
 *   https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/
 *   https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h
 *
 * @externs
 
 * @type {!UserMessageHandlersNamespace}
 
 * @constructor
 * @implements {IObject<string, UserMessageHandler>}
 
 * @param {*} message
 * @return {undefined}
 
 * @type {!WebKitNamespace}
 * @const
 WebKitNamespacemessageHandlersUserMessageHandlersNamespaceUserMessageHandlerwebkitDefinitions for WKWebView's User Content interface.
https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/
https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h
*!UserMessageHandlersNamespaceIObject.<string, UserMessageHandler>!WebKitNamespaceWebKitN ... ndlers;WebKitN ... andlersWebKitN ... ototypeUserMes ... mespaceUserMes ... ge) {};UserMes ... age) {}UserMes ... MessageUserMes ... ototypevar webkit;/opt/dist/tools/data/externs/web/webstorage.jswebstorage/opt/dist/.cache/trap-cache/javascript/e0769c2a184864c83570ba2d222ac7aa55ae6edb.trap.gz
 * @fileoverview Definitions for W3C's WebStorage specification.
 * This file depends on html5.js.
 * @externs
 
 * @interface
 * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interface
 
 * @param {number} index
 * @return {?string}
 
 * @param {string} key
 * @return {?string}
 
 * @param {string} key
 * @param {string} data
 * @return {void}
 
 * @param {string} key
 * @return {void}
 
 * @interface
 * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attribute
 
 * @type {Storage}
 
 * Window implements WindowSessionStorage
 *
 * @type {Storage}
 
 * @interface
 * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attribute
 
 * Window implements WindowLocalStorage
 *
 * @type {Storage}
 
 * This is the storage event interface.
 * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event
 * @extends {Event}
 * @constructor
 
 * @type {?Storage}
 
 * @param {string} typeArg
 * @param {boolean} canBubbleArg
 * @param {boolean} cancelableArg
 * @param {string} keyArg
 * @param {?string} oldValueArg
 * @param {?string} newValueArg
 * @param {string} urlArg
 * @param {?Storage} storageAreaArg
 * @return {void}
 StoragegetItemsetItemremoveItemWindowSessionStorageWindowLocalStoragelocalStorageStorageEventstorageAreainitStorageEventkeyArgoldValueArgurlArgstorageAreaArgDefinitions for W3C's WebStorage specification.
This file depends on html5.js.
http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interfacehttp://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attributeWindow implements WindowSessionStoragehttp://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attributeWindow implements WindowLocalStorageThis is the storage event interface.http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event
?StorageStorage ... length;Storage ... .lengthStorage.prototypeStorage ... ex) {};Storage ... dex) {}Storage ... ype.keyStorage ... ey) {};Storage ... key) {}Storage ... getItemStorage ... ta) {};Storage ... ata) {}Storage ... setItemStorage ... oveItemStorage ... n() {};Storage ... on() {}Storage ... e.clearWindowS ... torage;WindowS ... StorageWindowS ... ototypeWindowL ... torage;WindowL ... StorageWindowL ... ototypeStorage ... pe.key;Storage ... dValue;Storage ... ldValueStorage ... wValue;Storage ... ewValueStorage ... pe.url;Storage ... ype.urlStorage ... geArea;Storage ... ageAreaStorage ... rg) {};Storage ... Arg) {}Storage ... geEvent/opt/dist/tools/data/externs/web/whatwg_encoding.jswhatwg_encoding/opt/dist/.cache/trap-cache/javascript/f0fc8b31d49e16dbde4fd15c12b7115e4aaedad7.trap.gz
 * @fileoverview Definitions for WHATWG's Encoding specification
 *     https://encoding.spec.whatwg.org
 * @externs
 
 * @param {!BufferSource=} input
 * @param {?Object=} options
 * @return {!string}
 * @see https://encoding.spec.whatwg.org/#textdecoder
 
 * @constructor
 * @param {string=} utfLabel
 /**\n *  ... bel\n */
 * @param {string=} input
 * @return {!Uint8Array}
 utfLabelDefinitions for WHATWG's Encoding specification
https://encoding.spec.whatwg.org
!BufferSource=?Object=https://encoding.spec.whatwg.org/#textdecoder/opt/dist/tools/data/externs/web/window.js/opt/dist/.cache/trap-cache/javascript/a4ba76a818d2d41cee5850825c6e9416385d8a5a.trap.gz
 * @fileoverview JavaScript Built-Ins for windows properties.
 *
 * @externs
 * @author stevey@google.com (Steve Yegge)
  Window properties// Window properties Only common properties are here.  Others such as open()// Only ...  open() should be used with an explicit Window object.// shou ... object.
 * @type {!Window}
 * @see https://developer.mozilla.org/en/DOM/window.top
 * @const
 
 * @type {!Navigator}
 * @see https://developer.mozilla.org/en/DOM/window.navigator
 * @const
 
 * @type {!HTMLDocument}
 * @see https://developer.mozilla.org/en/DOM/window.document
 * @const
 
 * @type {!Location}
 * @see https://developer.mozilla.org/en/DOM/window.location
 * @const
 * @suppress {duplicate}
 * @implicitCast
 
 * @type {!Screen}
 * @see https://developer.mozilla.org/En/DOM/window.screen
 * @const
 
 * @type {!Window}
 * @see https://developer.mozilla.org/En/DOM/Window.self
 * @const
  Magic functions for Firefox's LiveConnect.// Magi ... onnect. We'll probably never use these in practice. But redefining them// We'l ... ng them will fire up the JVM, so we want to reserve the symbol names.// will ...  names.
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray
 
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass
  We just ripped this from the FF source; it doesn't appear to be// We j ... r to be publicly documented.// publ ... mented.
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject
 
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage
 
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages
 
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java
 /**\n *  ... ava\n */
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape
 /**\n *  ... ape\n */
 * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun
 /**\n *  ... sun\n */
 * @param {number|undefined|null} immediateID
 * @see https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate
 * @see http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx
 * @return {undefined}
 
 * @param {number|undefined?} intervalID
 * @see https://developer.mozilla.org/en/DOM/window.clearInterval
 * @suppress {duplicate}
 * @return {undefined}
 
 * @param {number|undefined?} timeoutID
 * @see https://developer.mozilla.org/en/DOM/window.clearTimeout
 * @suppress {duplicate}
 * @return {undefined}
 
 * @param {*} message
 * @return {boolean}
 * @see https://developer.mozilla.org/en/DOM/window.confirm
 /**\n *  ... irm\n */
 * @see https://developer.mozilla.org/en/DOM/window.dump
 * @param {*} x
 * @return {undefined}
 
 * @param {string} message
 * @param {string=} opt_value
 * @return {?string}
 * @see https://developer.mozilla.org/en/DOM/window.prompt
 /**\n *  ... mpt\n */
 * @param {function()} callback
 * @return {number}
 * @see https://developer.mozilla.org/en-US/docs/DOM/window.setImmediate
 * @see http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx
 
 * @param {Function|string} callback
 * @param {number=} opt_delay
 * @return {number}
 * @see https://developer.mozilla.org/en/DOM/window.setInterval
 * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers
 
 * @param {Function|string} callback
 * @param {number=} opt_delay
 * @param {...*} var_args
 * @return {number}
 * @see https://developer.mozilla.org/en/DOM/window.setTimeout
 * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers
 screenJavaArrayJavaClassJavaMemberJavaObjectJavaPackagePackagesjavanetscapesunimmediateIDintervalIDtimeoutIDconfirmdumpopt_delayJavaScript Built-Ins for windows properties.
*https://developer.mozilla.org/en/DOM/window.top
!Navigatorhttps://developer.mozilla.org/en/DOM/window.navigator
https://developer.mozilla.org/en/DOM/window.document
https://developer.mozilla.org/en/DOM/window.location
!Screenhttps://developer.mozilla.org/En/DOM/window.screen
https://developer.mozilla.org/En/DOM/Window.self
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArrayhttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClasshttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObjecthttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackagehttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packageshttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/javahttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscapehttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun(number|undefined|null)https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate
http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx
(number|undefined?)undefined?https://developer.mozilla.org/en/DOM/window.clearInterval
https://developer.mozilla.org/en/DOM/window.clearTimeout
https://developer.mozilla.org/en/DOM/window.confirmhttps://developer.mozilla.org/en/DOM/window.dump
https://developer.mozilla.org/en/DOM/window.prompthttps://developer.mozilla.org/en-US/docs/DOM/window.setImmediate
http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx(Function|string)https://developer.mozilla.org/en/DOM/window.setInterval
https://html.spec.whatwg.org/multipage/webappapis.html#timershttps://developer.mozilla.org/en/DOM/window.setTimeout
var top;var navigator;var document;var location;var screen;var self;var JavaArray;var JavaClass;var JavaMember;var JavaObject;var JavaPackage;var Packages;var java;var netscape;var sun;functio ... eID) {}functio ... lID) {}functio ... tID) {}function dump(x) {}/opt/src/.hound.yml.houndymlfail_on_violationstag:yaml.org,2002:strtag:yaml.org,2002:boolscsstag:yaml.org,2002:mapenabled: falseconfig_filejs/.jshintrcenabled: truejscsjs/.jscsrcfail_on ... s: trueyaml/opt/src/.travis.yml.travissudotrustynode_jsgittag:yaml.org,2002:intdepth: 100.12"0.12"tag:yaml.org,2002:seq- "0.12"before_installexport PATH=$(python -c 'from sys import argv;from collections import OrderedDict as od;print(":".join(od((p,None) for p in argv[1].split(":") if p.startswith("/")).keys()))' "$PATH")export  ... $PATH")rvm install 2.2rvm use 2.2 --fuzzyexport TRAVIS_COMMIT_MSG="$(git log --format=%B --no-merges -n 1)""export ... n 1)\""echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; trueecho "$ ... ?; trueecho "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; trueif [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fiif [ "$ ... R=0; fi- expor ... $PATH")bundle install --deployment --jobs=1bundle  ... -jobs=1cp grunt/npm-shrinkwrap.json ./cp grun ... json ./npm install- bundl ... -jobs=1node_modulesvendor/bundle- node_modulesdirectories:NPM_CONFIG_PROGRESS="false"NPM_CON ... "false"SAUCE_USERNAME="bootstrap"SAUCE_U ... tstrap"securepJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="pJkBwn ... gHLaQ="secure: ... gHLaQ="RKWpS+P20b4tG9tawzCMJSmQftoonmC7tJzyGYiHuEM1TcpHALLBcnzKlr/+DiPTfzDJWY4kS8pxfhK4uXOe8OHnhpMNub7LEWtFPePlZIervOJcsOydaQocTKqVVWD6OUubMeQmQ+tZmvmpjoJ1uPPEbFs9ciF7+dv3U5tLUZ0="RKWpS+ ... tLUZ0="secure: ... tLUZ0="XswSKBY0HJ/aO9VOBeWlvGpqSFF/DsJmNKz7o5RkJMJX340qe44J929uUNwwOwlv9YrgptzC2W6l8bpmZQV+p6IYs99SoSA8CCaUfIJaqeU9x/UiT5vIHgqaNax+vFJwvzHLpF5v/ggFqFEKCd54gCDasePLTztHeC4oL104iaQ="XswSKB ... 04iaQ="secure: ... 04iaQ="- NPM_C ... "false"matrixTWBS_TEST=coreTWBS_TEST=validate-htmlTWBS_TE ... te-htmlTWBS_TEST=sauce-js-unitTWBS_TE ... js-unit- TWBS_TEST=coreglobal:fast_finishfast_finish: truenotificationsslackheybb:iz4wwosL0N0EdaX1gvgkU0NHheybb:i ... vgkU0NHwebhookshttp://savage1.twbsapps.com/savage/travishttp:// ... /travis- http: ... /travisslack:  ... vgkU0NHsudo: required/opt/src/Gruntfile.jsGruntfile!
 * Bootstrap's Gruntfile
 * http://getbootstrap.com
 * Copyright 2013-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 /*!\n *  ... SE)\n */ Force use of Unix newlines// Forc ... ewlines Project configuration.// Proj ... ration. Metadata.// Metadata. Task configuration.// Task ... ration. TODO: disable `zeroUnits` optimization once clean-css 3.2 is released// TODO ... eleased    and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly//    a ... rdingly These plugins provide necessary tasks.// Thes ...  tasks. Docs HTML validation task// Docs ... on task Test task.// Test task. Skip core tests if running a different subset of the test suite// Skip ... t suite Skip core tests if this is a Savage build// Skip ... e build Skip HTML validation if running a different subset of the test suite Skip HTML5 validator on Travis when [skip validator] is in the commit message// Skip ... message Only run Sauce Labs tests if there's a Sauce access key// Only ... ess key Skip Sauce if running a different subset of the test suite Skip Sauce on Travis when [skip sauce] is in the commit message JS distribution task.// JS d ... n task. CSS distribution task.// CSS  ... n task. Full distribution task.// Full ... n task. Default task.// Default task. task for building customizer// task ... tomizer Docs task.// Docs task.grunt'use strict'linefeed'\n'/[-\\^$*+?.()|[\]{}]/g'\\$&''fs''path'generateGlyphiconsData'./grunt/bs-glyphicons-data-generator.js'BsLessdocParser'./grunt/bs-lessdoc-parser.js'getLessVarsDatafilePath'less/variables.less'fileContent'utf8'parsernewsectionsparseFilegenerateRawFiles'./grunt/bs-raw-files-generator.js'generateCommonJSModule'./grunt/bs-commonjs-generator.js'configBridgereadJSON'./grunt/configBridge.json''./docs/assets'initConfigpkg'package.json'banner'/*!\n'+' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n'' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n'' * Licensed under the <%= pkg.license %> license\n'' */\n'jqueryCheckjqueryVersionCheckclean'dist'docs'docs/dist'jshintjshintrc'js/.jshintrc''grunt/.jshintrc''Gruntfile.js''package.js''grunt/*.js'core'js/*.js''js/tests/unit/.jshintrc''js/tests/unit/*.js'assets'docs/assets/js/src/*.js''docs/assets/js/*.js''!docs/assets/js/*.min.js''js/.jscsrc''<%= jshint.grunt.src %>''<%= jshint.core.src %>''<%= jshint.test.src %>'requireCamelCaseOrUpperCaseIdentifiers'<%= jshint.assets.src %>''<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>'stripBannersbootstrap'js/transition.js''js/alert.js''js/button.js''js/carousel.js''js/collapse.js''js/dropdown.js''js/modal.js''js/tooltip.js''js/popover.js''js/scrollspy.js''js/tab.js''js/affix.js''dist/js/<%= pkg.name %>.js'uglifycompresswarningsmanglepreserveComments/^!|@preserve|@license|@cc_on/i'<%= concat.bootstrap.dest %>''dist/js/<%= pkg.name %>.min.js'customizecustomizerJs'docs/assets/js/customize.min.js'docsJs'docs/assets/js/docs.min.js'qunitinject'js/tests/unit/phantom.js''js/tests/index.html'lesscompileCorestrictMathsourceMapoutputSourceFilessourceMapURL'<%= pkg.name %>.css.map'sourceMapFilename'dist/css/<%= pkg.name %>.css.map''less/bootstrap.less''dist/css/<%= pkg.name %>.css'compileTheme'<%= pkg.name %>-theme.css.map''dist/css/<%= pkg.name %>-theme.css.map''less/theme.less''dist/css/<%= pkg.name %>-theme.css'compileDocs'docs.css.map''docs/assets/css/docs.css.map''docs/assets/less/docs.less''docs/assets/css/docs.css'autoprefixerbrowsersautoprefixerBrowserstheme'docs/assets/css/src/docs.css'examples'docs/examples/''**/*.css'csslintcsslintrc'less/.csslintrc''dist/css/bootstrap.css''dist/css/bootstrap-theme.css''docs/examples/**/*.css'ids'overqualified-elements'cssmincompatibility'ie8'keepSpecialComments'*'sourceMapInlineSourcesminifyCore'dist/css/<%= pkg.name %>.min.css'minifyTheme'dist/css/<%= pkg.name %>-theme.min.css''docs/assets/css/ie10-viewport-bug-workaround.css''docs/assets/css/src/pygments-manni.css''docs/assets/css/docs.min.css'csscomb'less/.csscomb.json''dist/css/''*.css''!*.min.css''fonts/**''dist/''**/*''docs/dist/'server3000'.'jekyllbundleExec'_config.yml'incrementalgithub'github: true'htmlmincollapseBooleanAttributescollapseWhitespaceconservativeCollapsedecodeEntitiesminifyCSSminifyJSminifyURLsprocessConditionalCommentsremoveAttributeQuotesremoveCommentsremoveOptionalAttributesremoveOptionalTagsremoveRedundantAttributesremoveScriptTypeAttributesremoveStyleLinkTypeAttributesremoveTagWhitespacesortAttributessortClassName'_gh_pages''**/*.html''!examples/**/*.html'pugprettycustomizerVars'docs/_pug/customizer-variables.pug''docs/_includes/customizer-variables.html'customizerNav'docs/_pug/customizer-nav.pug''docs/_includes/nav/customize.html'htmllintignore'Attribute "autocomplete" not allowed on element "button" at this point.''Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".''Element "img" is missing required attribute "src".''_gh_pages/**/*.html'tasks'jshint:core''qunit''concat''jshint:test''less/**/*.less''less''copy''docs/assets/less/**/*.less''saucelabs-qunit'TRAVIS_JOB_IDthrottledmaxRetriesmaxPollRetries'http://127.0.0.1:3000/js/tests/index.html?hidepassed'readYAML'grunt/sauce_browsers.yml'npmUpdate'npm update''bootstrap-<%= pkg.version %>-dist.zip''zip''**''bootstrap-<%= pkg.version %>-dist''load-grunt-tasks''devDependencies''time-grunt'registerTask'validate-html''jekyll:docs''htmllint'runSubsetsubset!TWBS_TEST===isUndefOrNonZero!=='0'testSubtasksif'core'&&TRAVIS_REPO_SLUG'twbs-savage/bootstrap''dist-css''dist-js''csslint:dist''test-js''docs'TWBS_DO_VALIDATORtypeofSAUCE_ACCESS_KEY'undefined''sauce-js-unit'TWBS_DO_SAUCE'connect''test''jshint:grunt''jscs:core''jscs:test''jscs:grunt''uglify:core''commonjs''less-compile''less:compileCore''less:compileTheme''less:compileDocs''autoprefixer:core''autoprefixer:theme''csscomb:dist''cssmin:minifyCore''cssmin:minifyTheme''clean:dist''copy:fonts''default''build-glyphicons-data''build-customizer''build-customizer-html''build-raw-files''pug''Add scripts/less files to customizer.''<%= banner %>''Generate CommonJS entrypoint module in dist dir.'srcFiles'concat.bootstrap.src'destFilepath'dist/js/npm.js''docs-css''autoprefixer:docs''autoprefixer:examples''csscomb:docs''csscomb:examples''cssmin:docs''lint-docs-css''csslint:docs''csslint:examples''docs-js''uglify:docsJs''uglify:customize''lint-docs-js''jshint:assets''jscs:assets''clean:docs''copy:docs''docs-github''jekyll:github''htmlmin''prep-release''compress'module. ... ']);\n};module. ... s']);\n}functio ... s']);\n}{\n  'us ... s']);\n}'use strict';use strictgrunt.u ... = '\n';grunt.u ...  = '\n'grunt.util.linefeedgrunt.util
RegExp. ... );\n  };RegExp. ... ');\n  }RegExp.quotefunctio ... ');\n  }{\n    r ... ');\n  }return  ... \\$&');string. ... '\\$&')string.replace/[-\\^$ ... \]{}]/g[-\\^$*+?.()|[\]{}]-\\\^|\]\$&\$&var fs  ... ('fs');fs = require('fs')require('fs')var pat ... path');path =  ... 'path')require('path')var gen ... r.js');generat ... or.js')generat ... onsDatarequire ... or.js')'./grun ... tor.js'./grunt/bs-glyphicons-data-generator.js/grunt/bs-glyphicons-data-generatorvar BsL ... r.js');BsLessd ... er.js')require ... er.js')'./grun ... ser.js'./grunt/bs-lessdoc-parser.js/grunt/bs-lessdoc-parservar get ... };\n  };getLess ...  };\n  }functio ...  };\n  }{\n    v ...  };\n  }var fil ... less');filePat ... .less')path.jo ... .less')'less/v ... s.less'less/variables.lessless/variablesvar fil ... f8' });fileCon ... tf8' })fs.read ... tf8' }){ encoding: 'utf8' }encoding: 'utf8'utf8var par ... ntent);parser  ... ontent)new BsL ... ontent)return  ... le() };{ secti ... ile() }section ... eFile()parser.parseFile()parser.parseFile./grunt/bs-raw-files-generator.js/grunt/bs-raw-files-generatorgenerat ... SModule./grunt/bs-commonjs-generator.js/grunt/bs-commonjs-generatorvar con ... f8' });configB ... tf8' })grunt.f ... tf8' })grunt.file.readJSONgrunt.file'./grun ... e.json'./grunt/configBridge.json/grunt/configBridgeObject. ... ;\n  });Object. ... );\n  })Object. ... forEachObject. ... .paths)configBridge.pathsfunctio ... });\n  }{\n    c ... });\n  }configB ...     });configB ... \n    })configB ... forEachconfigB ... hs[key]functio ... ;\n    }{\n      ... ;\n    }arr[i]  ... , val);arr[i]  ... ', val)arr[i]path.jo ... ', val)./docs/assets/docs/assetsgrunt.i ... \n\n  });grunt.i ... }\n\n  })grunt.initConfig{\n\n     ...  }\n\n  }pkg: gr ... .json')grunt.f ... .json')package.jsonpackagebanner: ... ' */\n''/*!\n' ... ' */\n''/*!\n' ... ense\n''/*!\n' ... r %>\n''/*!\n' ...  %>)\n'/*!
/*!
' * Boo ...  %>)\n' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)
 * Bootstrap v<%= pkgversion %> (<%= pkg.homepage %>)<%= pkg.homepage %><%= pkghomepage %>' * Cop ... r %>\n' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>
 Copyright 2011-<%= grunttoday("yyyy")"yyyy" %> <%= pkgauthor %>
' * Lic ... ense\n' * Licensed under the <%= pkg.license %> license
 Licensed under the <%= pkglicense %> license
 */
/
jqueryC ... n('\n')configB ... n('\n')configB ... ck.joinconfigB ... ryCheckconfigBridge.configjqueryV ... n('\n')configB ... onCheckclean:  ... '\n    }{\n      ... '\n    }dist: 'dist'docs: 'docs/dist'docs/distjshint: ... }\n    }{\n      ... }\n    }options ...       }{\n      ...       }jshintr ... hintrc'js/grunt:  ...       }grunt/.jshintrcgrunt/src: [' ... /*.js']['Grunt ... /*.js']Gruntfile.jspackage.jsgrunt/*.jscore: { ...       }src: 'js/*.js'js/*.jstest: { ...       }'js/tes ... hintrc'js/tests/unit/.jshintrcjs/tests/unit/src: 'j ... t/*.js'js/tests/unit/*.jsjs/tests/unitassets: ...       }src: [' ... in.js']['docs/ ... in.js']'docs/a ... c/*.js'docs/assets/js/src/*.jsdocs/assets/js/src'docs/a ... s/*.js'docs/assets/js/*.jsdocs/assets/js'!docs/ ... min.js'!docs/assets/js/*.min.js!docs/assets/jsjscs: { ... }\n    }config: 'js/.jscsrc'jscsrcsrc: '< ... src %>''<%= js ... src %>'<%= jshint.grunt.src %><%= jshintsrc %><%= jshint.core.src %><%= jshint.test.src %>require ... s: nullrequire ... tifiers<%= jshint.assets.src %>concat: ... }\n    }banner: ... eck %>''<%= ba ... eck %>'<%= banner %>
<%= jqueryCheck %>
<%= jqueryVersionCheck %>stripBanners: falsebootstr ...       }src: [\n ...       ][\n      ...       ]js/transition.jsjs/transitionjs/alert.jsjs/alertjs/button.jsjs/buttonjs/carousel.jsjs/carouseljs/collapse.jsjs/collapsejs/dropdown.jsjs/dropdownjs/modal.jsjs/modaljs/tooltip.jsjs/tooltipjs/popover.jsjs/popoverjs/scrollspy.jsjs/scrollspyjs/tab.jsjs/tabjs/affix.jsjs/affixdest: ' ...  %>.js''dist/j ...  %>.js'dist/js/<%= pkg.name %>.jsdist/js/<%= pkgname %>uglify: ... }\n    }compres ...       }warnings: falsemangle: truepreserv ... cc_on/i/^!|@pr ... cc_on/i^!|@preserve|@license|@cc_on^!@preserve@license@cc_onsrc: '< ... est %>''<%= co ... est %>'<%= concat.bootstrap.dest %><%= concatdest %>dest: ' ... min.js''dist/j ... min.js'dist/js/<%= pkg.name %>.min.jscustomi ...       }src: co ... mizerJsconfigB ... mizerJs'docs/a ... min.js'docs/assets/js/customize.min.jsdocs/assets/js/customizedocsJs: ...       }src: co ... .docsJsconfigB ... .docsJsdocs/assets/js/docs.min.jsdocs/assets/js/docsqunit:  ... '\n    }inject: ... tom.js''js/tes ... tom.js'js/tests/unit/phantom.jsjs/tests/unit/phantomfiles:  ... x.html''js/tes ... x.html'js/tests/index.htmljs/tests/indexless: { ... }\n    }compile ...       }strictMath: truesourceMap: trueoutputS ... s: truesourceM ... ss.map''<%= pk ... ss.map'<%= pkg.name %>.css.map'dist/c ... ss.map'dist/css/<%= pkg.name %>.css.mapdist/css/<%= pkgsrc: 'l ... p.less''less/b ... p.less'less/bootstrap.lessless/bootstrapdest: ' ... %>.css''dist/c ... %>.css'dist/css/<%= pkg.name %>.css<%= pkg.name %>-theme.css.mapname %>-themedist/css/<%= pkg.name %>-theme.css.mapsrc: 'l ... e.less'less/theme.lessless/themedest: ' ... me.css''dist/c ... me.css'dist/css/<%= pkg.name %>-theme.cssdocs.css.map'docs/a ... ss.map'docs/assets/css/docs.css.mapdocs/assets/css/docssrc: 'd ... s.less''docs/a ... s.less'docs/assets/less/docs.lessdocs/assets/less/docsdest: ' ... cs.css''docs/a ... cs.css'docs/assets/css/docs.cssautopre ... }\n    }browser ... rowsersconfigB ... rowsersmap: truesrc: 'd ... %>.css'theme:  ...       }src: 'd ... me.css'docs: { ...       }src: 'd ... cs.css'docs/assets/css/src/docs.cssdocs/assets/css/src/docsexample ...       }expand: truecwd: 'd ... mples/'docs/examples/src: ['**/*.css']['**/*.css']**/*.cssdest: ' ... mples/'csslint ... }\n    }csslint ... lintrc'less/.csslintrcless/dist: [ ...       ]'dist/c ... ap.css'dist/css/bootstrap.cssdist/css/bootstrapdist/css/bootstrap-theme.cssdist/css/bootstrap-themeexample ...       ]'docs/e ... /*.css'docs/examples/**/*.cssids: false'overqu ... : false'overqu ... ements'overqualified-elementscssmin: ... }\n    }compatibility: 'ie8'ie8keepSpe ... ts: '*'sourceM ... s: truesourceM ... Sourcesadvanced: falseminifyC ...       }dest: ' ... in.css''dist/c ... in.css'dist/css/<%= pkg.name %>.min.cssminifyT ...       }dist/css/<%= pkg.name %>-theme.min.css'docs/a ... nd.css'docs/assets/css/ie10-viewport-bug-workaround.cssdocs/assets/css/ie10-viewport-bug-workaround'docs/a ... ni.css'docs/assets/css/src/pygments-manni.cssdocs/assets/css/src/pygments-manni'docs/a ... in.css'docs/assets/css/docs.min.csscsscomb ... }\n    }config: ... b.json'less/.csscomb.jsondist: { ...       }cwd: 'dist/css/'dist/css/src: [' ... n.css']['*.css ... n.css']*.css!*.min.css!*dest: 'dist/css/'src: '**/*.css'copy: { ... }\n    }fonts:  ...       }src: 'fonts/**'fonts/**dest: 'dist/'dist/cwd: 'dist/'**/*dest: 'docs/dist/'docs/dist/connect ... }\n    }server: ...       }port: 3000base: '.'jekyll: ... }\n    }bundleExec: trueconfig: ... ig.yml'_config.yml_configincremental: falsedocs: {}github: ...       }raw: 'github: true'github: truehtmlmin ... }\n    }collaps ... s: truecollaps ... ributescollaps ... e: trueconserv ... e: truedecodeE ... : falsekeepSpe ... ents: 0minifyJS: trueminifyURLs: falseprocess ... s: trueprocess ... ommentsremoveA ... s: trueremoveA ... eQuotesremoveComments: trueremoveO ... s: trueremoveO ... ributesremoveR ... s: trueremoveR ... ributesremoveS ... s: trueremoveS ... ributesremoveT ... : falsesortAttributes: truesortClassName: truecwd: '_gh_pages'_gh_pagesdest: '_gh_pages'**/*.html'!examp ... *.html'!examples/**/*.htmlpug: {\n ... }\n    }pretty: truedata: g ... arsDatasrc: 'd ... es.pug''docs/_ ... es.pug'docs/_pug/customizer-variables.pugdocs/_pug/customizer-variablesdest: ' ... s.html''docs/_ ... s.html'docs/_includes/customizer-variables.htmldocs/_includes/customizer-variablessrc: 'd ... av.pug''docs/_ ... av.pug'docs/_pug/customizer-nav.pugdocs/_pug/customizer-navdest: ' ... e.html''docs/_ ... e.html'docs/_includes/nav/customize.htmldocs/_includes/nav/customizehtmllin ... '\n    }ignore: ...       ]'Attrib ... point.'Attribute "autocomplete" not allowed on element "button" at this point.Attribute "autocomplete" not allowed on element "button" at this point'Attrib ... week".'Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week"'Elemen ... "src".'Element "img" is missing required attribute "src".Element "img" is missing required attribute "src"src: '_ ... *.html''_gh_pa ... *.html'_gh_pages/**/*.htmlwatch:  ... }\n    }src: {\n ...       }files:  ... src %>'tasks:  ... oncat']['jshin ... oncat']jshint:coretasks:  ... qunit']['jshin ... qunit']jshint:testless: { ...       }files:  ... *.less'less/**/*.lesstasks:  ... 'copy']['less', 'copy']'docs/a ... *.less'docs/assets/less/**/*.lesstasks: ['less']['less']'saucel ... }\n    }saucelabs-qunitall: {\n ...       }build:  ... _JOB_IDprocess ... _JOB_IDprocess.envthrottled: 10maxRetries: 3maxPollRetries: 4urls: [ ... assed']['http: ... assed']'http:/ ... passed'http://127.0.0.1:3000/js/tests/index.html?hidepassedhttp://1271:3000/js/tests/indexhtml?lhidepassedbrowser ... s.yml')grunt.f ... s.yml')grunt.file.readYAML'grunt/ ... rs.yml'grunt/sauce_browsers.ymlgrunt/sauce_browsersexec: { ... }\n    }npmUpda ...       }command ... update'npm updatecompres ... }\n    }main: { ...       }archive ... st.zip''bootst ... st.zip'bootstrap-<%= pkg.version %>-dist.zipbootstrap-<%= pkgversion %>-distzipmode: 'zip'level: 9files:  ...       ]src: ['**']['**']**dest: ' ... >-dist''bootst ... >-dist'bootstrap-<%= pkg.version %>-distrequire ... es' });require ... ies' })require ... tasks')load-grunt-tasks{ scope ... cies' }scope:  ... encies'devDependenciesrequire ... grunt);require ... (grunt)require ... grunt')time-gruntgrunt.r ... int']);grunt.r ... lint'])grunt.registerTaskvalidate-html['jekyl ... llint']jekyll:docsvar run ... t;\n  };runSubs ... et;\n  }functio ... et;\n  }{\n    r ... et;\n  }return  ... subset;!proces ...  subset!proces ... BS_TESTprocess ... BS_TESTprocess ...  subsetvar isU ... ';\n  };isUndef ... 0';\n  }functio ... 0';\n  }{\n    r ... 0';\n  }return  ... == '0';val === ... !== '0'val === undefinedval !== '0'var tes ... s = [];testSubtasks = [][]if (run ... ]);\n  }runSubs ... tstrap'runSubset('core')process ... tstrap'process ... PO_SLUG'twbs-s ... tstrap'twbs-savage/bootstrap{\n    t ... ]);\n  }testSub ... ocs']);testSub ... docs'])testSubtasks.concat['dist- ... 'docs']dist-cssdist-jscsslint:disttest-jsif (run ... ');\n  }runSubs ... IDATOR)runSubs ... -html')isUndef ... IDATOR)process ... LIDATOR{\n    t ... ');\n  }testSub ... html');testSub ... -html')testSubtasks.pushif (typ ... ');\n  }typeof  ... _SAUCE)typeof  ... -unit')typeof  ... efined'typeof  ... ESS_KEYprocess ... ESS_KEYrunSubs ... -unit')sauce-js-unitisUndef ... _SAUCE)process ... O_SAUCEtestSub ... nect');testSub ... nnect')testSub ... unit');testSub ... qunit')grunt.r ... tasks);grunt.r ... btasks)grunt.r ... nit']);grunt.r ... unit'])jshint:gruntjscs:corejscs:testjscs:gruntgrunt.r ... njs']);grunt.r ... onjs'])['conca ... monjs']uglify:corecommonjsgrunt.r ... ocs']);grunt.r ... Docs'])less-compile['less: ... eDocs']less:compileCoreless:compileThemeless:compileDocsgrunt.r ... eme']);grunt.r ... heme'])['less- ... Theme']autoprefixer:coreautoprefixer:themecsscomb:distcssmin:minifyCorecssmin:minifyThemegrunt.r ... -js']);grunt.r ... t-js'])['clean ... st-js']clean:distcopy:fontsgrunt.r ... est']);grunt.r ... test'])['clean ... 'test']grunt.r ... t); });grunt.r ... nt); })'build- ... s-data'build-glyphicons-datafunctio ... unt); }{ gener ... unt); }generat ... grunt);generat ...  grunt)generat ... ta.callgrunt.r ... les']);grunt.r ... iles'])build-customizer['build ... files']'build- ... r-html'build-customizer-htmlbuild-raw-filesgrunt.r ... 'pug');grunt.r ...  'pug')grunt.r ... ;\n  });grunt.r ... );\n  })'Add sc ... mizer.'Add scripts/less files to customizer.Add scripts/less files to customizerfunctio ... r);\n  }{\n    v ... r);\n  }var ban ... r %>');banner  ... er %>')grunt.t ... er %>')grunt.t ... processgrunt.template<%= banner %>generat ... anner);generat ... banner)'Genera ... t dir.'Generate CommonJS entrypoint module in dist dir.Generate CommonJS entrypoint module in dist dirfunctio ... h);\n  }{\n    v ... h);\n  }var src ... .src');srcFile ... p.src')grunt.c ... p.src')grunt.config.getgrunt.config'concat ... ap.src'concat.bootstrap.srcvar des ... pm.js';destFil ... npm.js'dist/js/npm.jsdist/js/npmgenerat ... epath);generat ... lepath)grunt.r ... docs'])docs-css['autop ... :docs']autoprefixer:docs'autopr ... amples'autoprefixer:examplescsscomb:docscsscomb:examplescssmin:docsgrunt.r ... ples'])lint-docs-css['cssli ... mples']csslint:docscsslint:examplesgrunt.r ... ize']);grunt.r ... mize'])docs-js['uglif ... omize']uglify:docsJsuglify:customizegrunt.r ... ets']);grunt.r ... sets'])lint-docs-js['jshin ... ssets']jshint:assetsjscs:assetsgrunt.r ... zer']);grunt.r ... izer'])['docs- ... mizer']clean:docscopy:docsgrunt.r ... min']);grunt.r ... lmin'])docs-github['jekyl ... mlmin']jekyll:githubgrunt.r ... ess']);grunt.r ... ress'])prep-release['dist' ... press']/opt/src/_config.ymlmarkdownkramdownhighlighterrougepermalink0.0.0.03001http://getbootstrap.comhttp:// ... rap.combaseurl/docs/3.4UTF-8gemsjekyll-sitemap- jekyll-sitemapcurrent_version3.4.0repohttps://github.com/twbs/bootstraphttps:/ ... otstrapsass_repohttps://github.com/twbs/bootstrap-sasshttps:/ ... ap-sasshttps://github.com/twbs/bootstrap/archive/v3.4.0.ziphttps:/ ... 4.0.ziphttps://github.com/twbs/bootstrap/releases/download/v3.4.0/bootstrap-3.4.0-dist.ziphttps:/ ... ist.zipsasshttps://github.com/twbs/bootstrap-sass/archive/v3.4.0.tar.gzhttps:/ ... .tar.gzsource: ... 4.0.zipbloghttp://blog.getbootstrap.comexpohttp://expo.getbootstrap.comthemeshttp://themes.getbootstrap.comjobshttp://jobs.getbootstrap.comcdnhttps://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.csshttps:/ ... min.csscss_hashsha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"sha384 ... dEjh4u"css_themehttps://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap-theme.min.csscss_theme_hashsha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"sha384 ... Xwl/Sp"https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.jshttps:/ ... .min.jsjs_hashsha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"sha384 ... PD7Txa"css:    ... min.cssmarkdow ... ramdown/opt/src/dist/js/npm.jsnpm/opt/src/dist/js/opt/src/dist This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.// This ... onment.'../../js/transition.js''../../js/alert.js''../../js/button.js''../../js/carousel.js''../../js/collapse.js''../../js/dropdown.js''../../js/modal.js''../../js/tooltip.js''../../js/popover.js''../../js/scrollspy.js''../../js/tab.js''../../js/affix.js'require ... on.js')'../../ ... ion.js'../../js/transition.js/js/transitionrequire ... rt.js')../../js/alert.js/js/alert../../js/button.js/js/buttonrequire ... el.js')'../../ ... sel.js'../../js/carousel.js/js/carouselrequire ... se.js')'../../ ... pse.js'../../js/collapse.js/js/collapserequire ... wn.js')'../../ ... own.js'../../js/dropdown.js/js/dropdownrequire ... al.js')../../js/modal.js/js/modalrequire ... ip.js')'../../ ... tip.js'../../js/tooltip.js/js/tooltip'../../ ... ver.js'../../js/popover.js/js/popoverrequire ... py.js')'../../ ... spy.js'../../js/scrollspy.js/js/scrollspyrequire ... ab.js')../../js/tab.js/js/tabrequire ... ix.js')../../js/affix.js/js/affix/opt/src/docs/_data/browser-bugs.ymlbrowser-bugs/opt/src/docs/_data_data/opt/src/docsbrowserMicrosoft Edge
>Native browser tooltip for `title` shows on first keyboard focus (in addition to custom tooltip component)
upstream_bugEdge#6793560
Bootstrap#18692
browser: >Hovered element still remains in `:hover` state after scrolling away.
Edge#5381673
Bootstrap#14211
When hovering over a `<select>` menu item, the cursor for the element underneath the menu is displayed.
Edge#817822
Bootstrap#14528
CSS `border-radius` sometimes causes lines of bleed-through of the `background-color` of the parent element.
Edge#3342037
Bootstrap#16671
`background` of `<tr>` is only applied to first child cell instead of all cells in the row
Edge#5865620
Bootstrap#18504
`@-ms-viewport{width: device-width;}` has side-effect of making scrollbars auto-hide
Edge#7165383
Bootstrap#18543
Background color from lower layer bleeds through transparent border in some cases
Edge#6274505
Bootstrap#18228
Hovering over descendant SVG element fires `mouseleave` event at ancestor
Edge#7787318
Bootstrap#19670
Firefox
`.table-bordered` with an empty `<tbody>` is missing borders.
Mozilla#1023761
Bootstrap#13453
If the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page.
Mozilla#654072
Bootstrap#793
`focus` events should not be fired at the `document` object
Mozilla#1228802
Bootstrap#18365
Wide floated table doesn't wrap onto new line
Mozilla#1277782
Bootstrap#19839
Mouse sometimes not within element for purposes of `mouseenter`/`mouseleave` when it's within SVG elements
Mozilla#577785
`position: absolute` element that's wider than its column renders differently than other browsers
Mozilla#1282363
Bootstrap#20161
Firefox (Windows)
Right border of `<select>` menu is sometimes missing when screen is set to uncommon resolution
Mozilla#545685
Bootstrap#15990
Firefox (OS X & Linux)
Badge widget causes bottom border of Tabs widget to unexpectedly not overlap
Mozilla#1259972
Bootstrap#19626
Chrome (Android)
Tapping on an `<input>` in a scrollable overlay doesn't scroll the `<input>` into view
Chromium#595210
Bootstrap#17338
Chrome (OS X)
Clicking above `<input type="number">` increment button flashes the decrement button.
Chromium#419108
Offshoot of Bootstrap#8350 & Chromium#337668
Chrome
CSS infinite linear animation with alpha transparency leaks memory.
Chromium#429375
Bootstrap#14409
`:focus` `outline` style causes cursor to not be displayed when toggling a `readonly` `<input>` to read-write.
Chromium#465274
Bootstrap#16022
`table-cell` borders not overlapping despite `margin-right: -1px`
Chromium#534750
Bootstrap#17438, Bootstrap#14237
Clicking scrollbar in `<select multiple>` with overflowed options will select nearby `<option>`
Chromium#597642
Bootstrap#19810
Don't make `:hover` sticky on touch-friendly webpages
Chromium#370155
Bootstrap#12832
Chrome (Windows & Linux)
Animation glitch when returning to inactive tab after animations occurred while tab was hidden.
Chromium#449180
Bootstrap#15298
Safari
`rem` units in media queries should be calculated using `font-size: initial`, not the root element's `font-size`
WebKit#156684
Bootstrap#17403
Safari (OS X)
`px`, `em`, and `rem` should all behave the same in media queries when page zoom is applied
WebKit#156687
Weird button behavior with some `<input type="number">` elements.
WebKit#137269, Safari#18834768
Bootstrap#8350, Normalize#283, Chromium#337668
Small font size when printing webpage with fixed-width `.container`.
WebKit#138192, Safari#19435018
Bootstrap#14868
Safari (iPad)
`<select>` menu on iPad causes shifting of hit-testing areas
WebKit#150079, Safari#23082521
Bootstrap#14975
Safari (iOS)
`transform: translate3d(0,0,0);` rendering bug.
WebKit#138162, Safari#18804973
Bootstrap#14603
Text input's cursor doesn't move while scrolling the page.
WebKit#138201, Safari#18819624
Bootstrap#14708
Can't move cursor to start of text after entering long string of text into `<input type="text">`
WebKit#148061, Safari#22299624
Bootstrap#16988
`display: block` causes text of temporal `<input>`s to become vertically misaligned
WebKit#139848, Safari#19434878
Bootstrap#11266, Bootstrap#13098
Tapping on `<body>` doesn't fire `click` events
WebKit#151933
Bootstrap#16028
`position:fixed` is incorrectly positioned when tab bar is visible on iPhone 6S+ Safari
WebKit#153056
Bootstrap#18859
Tapping into an `<input>` within a `position:fixed` element scrolls to the top of the page
WebKit#153224, Safari#24235301
Bootstrap#17497
`<body>` with `overflow:hidden` CSS is scrollable on iOS
WebKit#153852
Bootstrap#14839
Scroll gesture in text field in `position:fixed` element sometimes scrolls `<body>` instead of scrollable ancestor
WebKit#153856
Tapping from one `<input>` to another in an overlay can cause shaking/jiggling effect
WebKit#158276
Bootstrap#19927
Modal with `-webkit-overflow-scrolling: touch` doesn't become scrollable after added text makes it taller
WebKit#158342
Bootstrap#17695
WebKit#158517
Safari (iPad Pro)
Rendering of descendants of `position: fixed` element gets clipped on iPad Pro in Landscape orientation
WebKit#152637, Safari#24030853
Bootstrap#18738
/opt/src/docs/_data/browser-features.ymlbrowser-featuresImplement the [`:dir()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:dir) from Selectors Level 4
UserVoice#12299532
Bootstrap#19984
Implement [sticky positioning](http://html5please.com/#position:sticky) from CSS Positioned Layout Level 3
UserVoice#6263621
Bootstrap#17021
Implement the HTML5 [`<dialog>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog)
UserVoice#6508895
Bootstrap#20175
Fire a [`transitioncancel` event](https://developer.mozilla.org/en-US/docs/Web/Events/transitioncancel) when a CSS transition is canceled
Mozilla#1264125
Mozilla#1182856
Implement the [`of <selector-list>` clause](http://caniuse.com/#feat=css-nth-child-of) of the `:nth-child()` pseudo-class
Mozilla#854148
Bootstrap#20143
Mozilla#840640
Chromium#304163
Chromium#576815
Chromium#231752
WebKit#64861
WebKit#84635
/opt/src/docs/_data/core-team.ymlcore-teamMark Ottomdogravatarbc4ab438f7a4ce1c406aadc688427f2cbc4ab43 ... 8427f2cname: Mark OttoJacob Thorntonfata98244cbdacaf1c0b55499466002f7a8a98244c ... 002f7a8name: Jacob ThorntonChris Rebertcvrebertedec428c425453955f770095a7d26c50edec428 ... 7d26c50name: Chris RebertJulian Thilojuthilo0f7dd3ce58a416be5685ea6194f82b110f7dd3c ... 4f82b11name: Julian ThiloXhmikosRxhmikosre37759b1ea0125d4e97b1e00b5eed26fe37759b ... 5eed26fname: XhmikosRHeinrich Fenkarthnrch020d53f5d3d3d28bd470f394d98f7ef48f0d53f5d ... f7ef48fname: H ... FenkartPatrick H. Laukepatrickhlauke357f279672db832fc41a5a2f36559fcb357f279 ... 6559fcbname: P ... . Lauke- name: Mark Otto/opt/src/docs/_data/glyphicons.ymlglyphiconsglyphicon-asteriskglyphicon-plusglyphicon-euroglyphicon-eurglyphicon-minusglyphicon-cloudglyphicon-envelopeglyphicon-pencilglyphicon-glassglyphicon-musicglyphicon-searchglyphicon-heartglyphicon-starglyphicon-star-emptyglyphicon-userglyphicon-filmglyphicon-th-largeglyphicon-thglyphicon-th-listglyphicon-okglyphicon-removeglyphicon-zoom-inglyphicon-zoom-outglyphicon-offglyphicon-signalglyphicon-cogglyphicon-trashglyphicon-homeglyphicon-fileglyphicon-timeglyphicon-roadglyphicon-download-altglyphic ... oad-altglyphicon-downloadglyphicon-uploadglyphicon-inboxglyphicon-play-circleglyphic ... -circleglyphicon-repeatglyphicon-refreshglyphicon-list-altglyphicon-lockglyphicon-flagglyphicon-headphonesglyphicon-volume-offglyphicon-volume-downglyphic ... me-downglyphicon-volume-upglyphicon-qrcodeglyphicon-barcodeglyphicon-tagglyphicon-tagsglyphicon-bookglyphicon-bookmarkglyphicon-printglyphicon-cameraglyphicon-fontglyphicon-boldglyphicon-italicglyphicon-text-heightglyphic ... -heightglyphicon-text-widthglyphicon-align-leftglyphicon-align-centerglyphic ... -centerglyphicon-align-rightglyphic ... n-rightglyphicon-align-justifyglyphic ... justifyglyphicon-listglyphicon-indent-leftglyphic ... nt-leftglyphicon-indent-rightglyphic ... t-rightglyphicon-facetime-videoglyphic ... e-videoglyphicon-pictureglyphicon-map-markerglyphicon-adjustglyphicon-tintglyphicon-editglyphicon-shareglyphicon-checkglyphicon-moveglyphicon-step-backwardglyphic ... ackwardglyphicon-fast-backwardglyphicon-backwardglyphicon-playglyphicon-pauseglyphicon-stopglyphicon-forwardglyphicon-fast-forwardglyphic ... forwardglyphicon-step-forwardglyphicon-ejectglyphicon-chevron-leftglyphic ... on-leftglyphicon-chevron-rightglyphicon-plus-signglyphicon-minus-signglyphicon-remove-signglyphic ... ve-signglyphicon-ok-signglyphicon-question-signglyphic ... on-signglyphicon-info-signglyphicon-screenshotglyphicon-remove-circleglyphicon-ok-circleglyphicon-ban-circleglyphicon-arrow-leftglyphicon-arrow-rightglyphic ... w-rightglyphicon-arrow-upglyphicon-arrow-downglyphicon-share-altglyphicon-resize-fullglyphic ... ze-fullglyphicon-resize-smallglyphic ... e-smallglyphicon-exclamation-signglyphicon-giftglyphicon-leafglyphicon-fireglyphicon-eye-openglyphicon-eye-closeglyphicon-warning-signglyphic ... ng-signglyphicon-planeglyphicon-calendarglyphicon-randomglyphicon-commentglyphicon-magnetglyphicon-chevron-upglyphicon-chevron-downglyphic ... on-downglyphicon-retweetglyphicon-shopping-cartglyphic ... ng-cartglyphicon-folder-closeglyphic ... r-closeglyphicon-folder-openglyphic ... er-openglyphicon-resize-verticalglyphic ... erticalglyphicon-resize-horizontalglyphic ... izontalglyphicon-hddglyphicon-bullhornglyphicon-bellglyphicon-certificateglyphic ... ificateglyphicon-thumbs-upglyphicon-thumbs-downglyphic ... bs-downglyphicon-hand-rightglyphicon-hand-leftglyphicon-hand-upglyphicon-hand-downglyphicon-circle-arrow-rightglyphicon-circle-arrow-leftglyphic ... ow-leftglyphicon-circle-arrow-upglyphic ... rrow-upglyphicon-circle-arrow-downglyphic ... ow-downglyphicon-globeglyphicon-wrenchglyphicon-tasksglyphicon-filterglyphicon-briefcaseglyphicon-fullscreenglyphicon-dashboardglyphicon-paperclipglyphicon-heart-emptyglyphic ... t-emptyglyphicon-linkglyphicon-phoneglyphicon-pushpinglyphicon-usdglyphicon-gbpglyphicon-sortglyphicon-sort-by-alphabetglyphic ... lphabetglyphicon-sort-by-alphabet-altglyphic ... bet-altglyphicon-sort-by-orderglyphic ... y-orderglyphicon-sort-by-order-altglyphic ... der-altglyphicon-sort-by-attributesglyphic ... ributesglyphicon-sort-by-attributes-altglyphic ... tes-altglyphicon-uncheckedglyphicon-expandglyphicon-collapse-downglyphic ... se-downglyphicon-collapse-upglyphic ... apse-upglyphicon-log-inglyphicon-flashglyphicon-log-outglyphicon-new-windowglyphicon-recordglyphicon-saveglyphicon-openglyphicon-savedglyphicon-importglyphicon-exportglyphicon-sendglyphicon-floppy-diskglyphic ... py-diskglyphicon-floppy-savedglyphic ... y-savedglyphicon-floppy-removeglyphic ... -removeglyphicon-floppy-saveglyphic ... py-saveglyphicon-floppy-openglyphic ... py-openglyphicon-credit-cardglyphic ... it-cardglyphicon-transferglyphicon-cutleryglyphicon-headerglyphicon-compressedglyphicon-earphoneglyphicon-phone-altglyphicon-towerglyphicon-statsglyphicon-sd-videoglyphicon-hd-videoglyphicon-subtitlesglyphicon-sound-stereoglyphic ... -stereoglyphicon-sound-dolbyglyphic ... d-dolbyglyphicon-sound-5-1glyphicon-sound-6-1glyphicon-sound-7-1glyphicon-copyright-markglyphic ... ht-markglyphicon-registration-markglyphic ... on-markglyphicon-cloud-downloadglyphic ... ownloadglyphicon-cloud-uploadglyphic ... -uploadglyphicon-tree-coniferglyphic ... coniferglyphicon-tree-deciduousglyphic ... ciduousglyphicon-cdglyphicon-save-fileglyphicon-open-fileglyphicon-level-upglyphicon-copyglyphicon-pasteglyphicon-alertglyphicon-equalizerglyphicon-kingglyphicon-queenglyphicon-pawnglyphicon-bishopglyphicon-knightglyphicon-baby-formulaglyphic ... formulaglyphicon-tentglyphicon-blackboardglyphicon-bedglyphicon-appleglyphicon-eraseglyphicon-hourglassglyphicon-lampglyphicon-duplicateglyphicon-piggy-bankglyphicon-scissorsglyphicon-bitcoinglyphicon-btcglyphicon-xbtglyphicon-yenglyphicon-jpyglyphicon-rubleglyphicon-rubglyphicon-scaleglyphicon-ice-lollyglyphicon-ice-lolly-tastedglyphic ... -tastedglyphicon-educationglyphicon-option-horizontalglyphicon-option-verticalglyphicon-menu-hamburgerglyphic ... mburgerglyphicon-modal-windowglyphic ... -windowglyphicon-oilglyphicon-grainglyphicon-sunglassesglyphicon-text-sizeglyphicon-text-colorglyphicon-text-backgroundglyphic ... kgroundglyphicon-object-align-topglyphic ... ign-topglyphicon-object-align-bottomglyphic ... -bottomglyphicon-object-align-horizontalglyphicon-object-align-leftglyphic ... gn-leftglyphicon-object-align-verticalglyphicon-object-align-rightglyphicon-triangle-rightglyphic ... e-rightglyphicon-triangle-leftglyphic ... le-leftglyphicon-triangle-bottomglyphicon-triangle-topglyphic ... gle-topglyphicon-consoleglyphicon-superscriptglyphic ... rscriptglyphicon-subscriptglyphicon-menu-leftglyphicon-menu-rightglyphicon-menu-downglyphicon-menu-up- glyphicon-asterisk/opt/src/docs/_data/sass-team.ymlsass-teamThomas McDonaldthomas-mcdonald24cd55ab1a62ffb113ab8c02f64c930124cd55a ... 64c9301name: T ... cDonaldGleb Mazovetskiyglebm729f685b8e8d7e9feed18c177c82e59b729f685 ... c82e59bname: G ... vetskiy- name: ... cDonald/opt/src/docs/_data/showcase.ymlshowcaseLyfthttps://www.lyft.comexpo_urlhttp://expo.getbootstrap.com/2014/10/29/lyft/http:// ... 9/lyft/lyftname: LyftVoguehttp://www.vogue.comhttp://expo.getbootstrap.com/2014/09/30/vogue/http:// ... /vogue/voguename: VogueRiot Designhttp://riotdesign.eu/en/http:// ... .eu/en/http://expo.getbootstrap.com/2014/03/13/riot-design/http:// ... design/riotname: Riot DesignNewsweekhttp://www.newsweek.com/http:// ... ek.com/http://expo.getbootstrap.com/2014/02/12/newsweek/http:// ... wsweek/newsweekname: Newsweek- name: Lyft/opt/src/docs/_data/translations.ymltranslationsChinesezhBootstrap 中文文档Bootstrap \u4e2d\u6587\u6587\u6863http://v3.bootcss.com/http:// ... ss.com/name: ChineseChinese (Traditional)Chinese ... tional)zh-TWBootstrap 3 中文手冊Bootstrap 3 \u4e2d\u6587\u624b\u518ahttps://kkbruce.tw/bs3/https:/ ... tw/bs3/name: C ... tional)DanishdaBootstrap på DanskBootstrap p\u00e5 Danskhttp://getbootstrap.dk/http:// ... rap.dk/name: DanishFrenchfrBootstrap en FrançaisBootstr ... ran\u00e7aishttp://www.oneskyapp.com/fr/docs/bootstrap/getting-started/http:// ... tarted/name: FrenchGermandeBootstrap auf DeutschBootstr ... Deutschhttp://holdirbootstrap.de/http:// ... rap.de/name: GermanItalianBootstrap in ItalianoBootstr ... talianohttp://www.hackerstribe.com/guide/IT-bootstrap-3.1.1/http:// ... -3.1.1/name: ItalianKoreankoBootstrap 한국어Bootstrap \ud55c\uad6d\uc5b4http://bootstrapk.com/http:// ... pk.com/name: KoreanBrazilian Portuguesept-BRBootstrap em Português do BrasilBootstr ...  Brasilhttp://bootstrapbrasil.github.io/http:// ... hub.io/name: B ... tugueseRussianruBootstrap по-русскиBootstrap \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438http://www.oneskyapp.com/ru/docs/bootstrap/http:// ... tstrap/name: RussianSpanishBootstrap en EspañolBootstrap en Espa\u00f1olhttp://www.oneskyapp.com/es/docs/bootstrap/name: SpanishTurkishtrTürkçe BootstrapT\u00fcrk\u00e7e Bootstraphttp://www.trbootstrap.comname: TurkishUkrainianukBootstrap українськоюBootstr ... \u0457\u043d\u0441\u044c\u043a\u043e\u044ehttp://twbs.docs.org.uahttp:// ... .org.uaname: UkrainianVietnameseviBootstrap bằng tiếng ViệtBootstr ... ng Vi\u1ec7thttp://getbootstrap.com.vnhttp:// ... .com.vnname: Vietnamese- name: Chinese/opt/src/docs/_includes/ads.htmlads/opt/src/docs/_includes_includestext/javascript//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=getbootstrapcom_carbonads_js/opt/src/docs/_includes/components/alerts.htmlalerts/opt/src/docs/_includes/componentscomponentsdivh1h2bs-docs-sectionpage-headerleadalerts-examplesh4bs-callout bs-callout-infocallout-alerts-no-defaultbs-exampledata-example-idsimple-alertsstrongalert alert-successrolealert alert-infoalert alert-warningalert alert-dangeralerts-dismissiblecallout-alerts-dismiss-plugin{{ site.baseurl }}/javascript/#alertsdismissible-alert-cssalert alert-warning alert-dismissibledata-dismissaria-labelClosearia-hiddenbs-callout bs-callout-warningcallout-alerts-dismiss-use-buttonalerts-linksalerts-with-links#alert-link/opt/src/docs/_includes/components/badges.htmlbadgesulbrsimple-badgesbadgebtn btn-primarybs-callout bs-callout-dangercallout-badges-ie8-emptybadges-in-pillslinav nav-pillstablistpresentation/opt/src/docs/_includes/components/breadcrumbs.htmlbreadcrumbsolsimple-breadcrumbsbreadcrumb/opt/src/docs/_includes/components/button-dropdowns.htmlbutton-dropdowns<!-- Single button --><!-- Split button --><!-- /example --><!-- Large button group --><!-- Small button group --><!-- Extra small button group -->btn-dropdownscallout-btndropdown-dependency{{ site.baseurl }}/javascript/#dropdownsbtn-dropdowns-single<!-- /btn-group -->single-button-dropdownbtn-groupbtn btn-default dropdown-toggledata-toggledropdownaria-haspopuparia-expandedcaretdropdown-menudividerbtn btn-primary dropdown-togglebtn btn-success dropdown-togglebtn btn-info dropdown-togglebtn btn-warning dropdown-togglebtn btn-danger dropdown-togglebtn-dropdowns-splitsplit-button-dropdownbtn btn-defaultsr-onlybtn btn-successbtn btn-infobtn btn-warningbtn btn-dangerbtn-dropdowns-sizing<!-- /btn-toolbar -->button-dropdown-sizingbtn-toolbarbtn btn-default btn-lg dropdown-togglebtn btn-default btn-sm dropdown-togglebtn btn-default btn-xs dropdown-togglebtn-dropdowns-dropupbutton-dropdown-dropupbtn-group dropupdropdown-menu dropdown-menu-right<!-- Dropdown menu links -->/opt/src/docs/_includes/components/button-groups.htmlbutton-groupsbtn-groups{{ site.baseurl }}/javascript/#buttonscallout-btn-group-tooltipscallout-btn-group-accessibility#btn-groups-justifiedbtn-groups-singlesimple-button-groupBasic example...btn-groups-toolbarsimple-button-toolbarToolbar with button groupsFirst groupSecond groupThird groupbtn-groups-sizingbutton-group-sizingbtn-group btn-group-lgLarge button groupDefault button groupbtn-group btn-group-smSmall button groupbtn-group btn-group-xsExtra-small button groupbtn-groups-nestedbutton-group-nestingButton group with nested dropdownbtnGroupDrop1aria-labelledbybtn-groups-verticaltext-dangervertical-button-groupbtn-group-verticalVertical button groupbtnGroupVerticalDrop1btnGroupVerticalDrop2btnGroupVerticalDrop3btnGroupVerticalDrop4btn-groups-justifiedcallout-btn-group-justified-dbl-bordercallout-btn-group-ie8-borderhttps://github.com/twbs/bootstrap/issues/12476simple-justified-button-groupbtn-group btn-group-justifiedJustified button groupJustified button group with nested dropdowncallout-btn-group-anchor-btnbutton-tag-button-group-justified/opt/src/docs/_includes/components/dropdowns.htmldropdownsdropdowns-examplestatic-dropdowndropdown clearfixdropdownMenu1static-dropupdropup clearfixdropdownMenu2dropupdropdowns-alignmentcallout-dropdown-positioningcallout-dropdown-pull-rightdLabeldropdowns-headersdropdownMenu3dropdown-headerdropdowns-dividerdropdownMenuDividerdropdowns-disableddropdownMenu4/opt/src/docs/_includes/components/glyphicons.htmlglyphicons-glyphshttp://glyphicons.com/bs-glyphiconsbs-glyphicons-listglyphicon {{ iconClassName }}glyphicon-classglyphicons-how-to-usecallout-glyphicons-dont-mixcallout-glyphicons-empty-onlycallout-glyphicons-locationhttp://lesscss.org/usage/#command-line-usage-relative-urlscallout-glyphicons-accessibilityglyphicon glyphicon-searchglyphicons-examplesglyphicons-generalLeft Alignglyphicon glyphicon-align-leftCenter Alignglyphicon glyphicon-align-centerRight Alignglyphicon glyphicon-align-rightJustifyglyphicon glyphicon-align-justifybtn btn-default btn-lgglyphicon glyphicon-starbtn btn-default btn-smbtn btn-default btn-xs#alertsglyphicons-accessibilityglyphicon glyphicon-exclamation-sign/opt/src/docs/_includes/components/input-groups.htmlinput-groups<!-- /.row -->callout-inputgroup-text-input-onlycallout-inputgroup-container-bodycallout-inputgroup-dont-mixcallout-inputgroup-form-labelsinput-groups-basicbs-example bs-example-formsimple-input-groupsinput-groupinput-group-addonbasic-addon1form-controlUsernamearia-describedbyRecipient's usernamebasic-addon2Amount (to the nearest dollar)basic-urlbasic-addon3input-groups-sizinginput-group-sizinginput-group input-group-lgsizing-addon1sizing-addon2input-group input-group-smsizing-addon3input-groups-checkboxes-radiosinput-group-with-checkbox-radio<!-- /.col-lg-6 --><!-- /input-group -->col-lg-6checkboxCheckbox for following text inputText input with checkboxradioRadio button for following text inputText input with radio buttoninput-groups-buttonsinput-group-with-buttoninput-group-btnSearch for...input-groups-buttons-dropdownsinput-group-dropdownsText input with dropdown buttoninput-groups-buttons-segmentedinput-group-segmented-buttons<!-- /.input-group -->Text input with segmented button dropdown<!-- Button and dropdown menu -->input-groups-buttons-multipleinput-group-multiple-buttonsBoldglyphicon glyphicon-boldItalicglyphicon glyphicon-italicText input with multiple buttonsHelpglyphicon glyphicon-question-sign<!-- Buttons -->/opt/src/docs/_includes/components/jumbotron.htmljumbotronsimple-jumbotronbtn btn-primary btn-lg/opt/src/docs/_includes/components/labels.htmlh3h5h6labels-in-headingslabel label-defaultlabel-variantslabel label-primarylabel label-successlabel label-infolabel label-warninglabel label-dangercallout-labels-inline-blockhttps://github.com/twbs/bootstrap/issues/13219/opt/src/docs/_includes/components/list-group.htmllist-grouplist-group-basicsimple-list-grouplist-group-itemlist-group-badgeslist-group-linkedlist-group-anchorslist-group-item activelist-group-buttonslist-group-btnslist-group-disabledlist-group-item disabledlist-group-contextual-classeslist-group-variantscol-sm-6list-group-item list-group-item-successlist-group-item list-group-item-infolist-group-item list-group-item-warninglist-group-item list-group-item-dangerlist-group-custom-contentlist-group-item-headinglist-group-item-text/opt/src/docs/_includes/components/media.html<!-- /.bs-example -->media-defaultdefault-mediamedia-leftmedia-objectdata-srcholder.js/64x64Generic placeholder imagemedia-bodymedia-headingmedia-rightmedia-alignmentmedia-left media-middlemedia-left media-bottommedia-list<!-- Nested media object -->/opt/src/docs/_includes/components/navbar.htmlnavbarnavnavbar-defaultcallout-navbar-overflow{{ site.baseurl }}/css/#responsive-utilitiescallout-navbar-js{{ site.baseurl }}/javascript/#collapsecallout-navbar-breakpointcallout-navbar-roledefault-navbar<!-- /.container-fluid -->navbar navbar-default<!-- Brand and toggle get grouped for better mobile display --><!-- Collect the nav links, forms, and other content for toggling --><!-- /.navbar-collapse -->container-fluidnavbar-headernavbar-toggle collapseddata-target#bs-example-navbar-collapse-1icon-barnavbar-brandcollapse navbar-collapsebs-example-navbar-collapse-1nav navbar-navdropdown-togglenavbar-form navbar-leftform-groupSearchnav navbar-nav navbar-rightnavbar-brand-imagenavbar-with-image-brandBranddata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAB+0lEQVR4AcyYg5LkUBhG+1X2PdZGaW3btm3btm3bHttWrPomd1r/2Jn/VJ02TpxcH4CQ/dsuazWgzbIdrm9dZVd4pBz4zx2igTaFHrhvjneVXNHCSqIlFEjiwMyyyOBilRgGSqLNF1jnwNQdIvAt48C3IlBmHCiLQHC2zoHDu6zG1iXn6+y62ScxY9AODO6w0pvAqf23oSE4joOfH6OxfMoRnoGUm+de8wykbFt6wZtA07QwtNOqKh3ZbS3Wzz2F+1c/QJY0UCJ/J3kXWJfv7VhxCRRV1jGw7XI+gcO7rEFFRvdYxydwcPsVsC0bQdKScngt4iUTD4Fy/8p7PoHzRu1DclwmgmiqgUXjD3oTKHbAt869qdJ7l98jNTEblPTkXMwetpvnftA0LLHb4X8kiY9Kx6Q+W7wJtG0HR7fdrtYz+x7iya0vkEtUULIzCjC21wY+W/GYXusRH5kGytWTLxgEEhePPwhKYb7EK3BQuxWwTBuUkd3X8goUn6fMHLyTT+DCsQdAEXNzSMeVPAJHdF2DmH8poCREp3uwm7HsGq9J9q69iuunX6EgrwQVObjpBt8z6rdPfvE8kiiyhsvHnomrQx6BxYUyYiNS8f75H1w4/ISepDZLoDhNJ9cdNUquhRsv+6EP9oNH7Iff2A9g8h8CLt1gH0Qf9NMQAFnO60BJFQe0AAAAAElFTkSuQmCCnavbar-formsnavbar-form#bs-example-navbar-collapse-2bs-example-navbar-collapse-2callout-navbar-mobile-caveats{{ site.baseurl }}/getting-started/#support-fixed-position-keyboardscallout-navbar-form-labelsnavbar-buttonsnavbar-button#bs-example-navbar-collapse-3bs-example-navbar-collapse-3btn btn-default navbar-btncallout-navbar-btn-context{{ site.baseurl }}/css/#buttonsnavbar-text#bs-example-navbar-collapse-4bs-example-navbar-collapse-4navbar-linksnavbar-link#bs-example-navbar-collapse-5bs-example-navbar-collapse-5navbar-text navbar-rightnavbar-component-alignmentcallout-navbar-right-alignnavbar-fixed-topbs-example bs-navbar-top-examplenavbar-fixed-to-top<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->navbar navbar-default navbar-fixed-top#bs-example-navbar-collapse-6bs-example-navbar-collapse-6callout-navbar-fixed-top-paddingnavbar-fixed-bottombs-example bs-navbar-bottom-examplenavbar-fixed-to-bottomnavbar navbar-default navbar-fixed-bottom#bs-example-navbar-collapse-7bs-example-navbar-collapse-7callout-navbar-fixed-bottom-paddingnavbar-static-topnavbar navbar-default navbar-static-top#bs-example-navbar-collapse-8bs-example-navbar-collapse-8navbar-invertedinverted-navbarnavbar navbar-inverse#bs-example-navbar-collapse-9bs-example-navbar-collapse-9/opt/src/docs/_includes/components/navs.htmlnavscallout-navs-tabs-plugin{{ site.baseurl }}/javascript/#tabs{{ site.baseurl }}/javascript/#tabs-usagecallout-navs-accessibilitynav-tabssimple-nav-tabsnav nav-tabsnav-pillssimple-nav-pillssimple-nav-stackednav nav-pills nav-stacked nav-pills-stacked-examplenav nav-pills nav-stackednav-justifiedcallout-navs-justified-safari{{ site.baseurl }}/examples/justified-nav/simple-nav-justifiednav nav-tabs nav-justifiednav nav-pills nav-justifiednav-disabled-linkscallout-navs-anchor-disableddisabled-nav-linknav-dropdownsnav-tabs-with-dropdownnav-pills-with-dropdown/opt/src/docs/_includes/components/page-header.htmlsimple-page-header/opt/src/docs/_includes/components/pagination.htmlpagination#pagination-pagerpagination-defaultsimple-paginationPage navigationPreviousNextcallout-pagination-labeldisabled-active-paginationpagination-sizingpagination pagination-lgpagination pagination-smpagination-pagersimple-pagerpageraligned-pager-linkspreviousdisabled-pagerprevious disabled/opt/src/docs/_includes/components/panels.htmlpanelspanels-basicsimple-panelpanel panel-defaultpanel-bodypanels-headingpanel-with-headingpanel-headingpanel-titlepanels-footerpanel-with-footerpanel-footerpanels-alternativescontextual-panelspanel panel-primarypanel panel-successpanel panel-infopanel panel-warningpanel panel-dangerpanels-tablestable-within-panel<!-- Default panel contents --><!-- Table -->theadthtdpanel-without-body-with-tablepanels-list-group#list-grouppanel-with-list-group<!-- List group -->/opt/src/docs/_includes/components/progress-bars.htmlprogress-barscallout-progress-animation-css3callout-progress-csphttps://developer.mozilla.org/en-US/docs/Web/Security/CSPprogress-basicsimple-progress-barprogress-barprogressbararia-valuenow60aria-valueminaria-valuemax100width: 60%;progress-labelprogress-bar-with-labelprogress-bar-at-low-percentagemin-width: 2em;min-width: 2em; width: 2%;progress-alternativescontextual-progress-barprogress-bar progress-bar-success40width: 40%progress-bar progress-bar-infowidth: 20%progress-bar progress-bar-warningwidth: 60%progress-bar progress-bar-danger80width: 80%progress-stripedstriped-progress-barprogress-bar progress-bar-success progress-bar-stripedprogress-bar progress-bar-info progress-bar-stripedprogress-bar progress-bar-warning progress-bar-stripedprogress-bar progress-bar-danger progress-bar-stripedprogress-animatedanimated-progress-barprogress-bar progress-bar-striped45width: 45%btn btn-default bs-docs-activate-animated-progressbararia-pressedprogress-bar progress-bar-striped activeprogress-stackedstacked-progress-barwidth: 35%width: 10%/opt/src/docs/_includes/components/responsive-embed.htmlresponsive-embed<!-- 16:9 aspect ratio --><!-- 4:3 aspect ratio -->responsive-embed-16by9-iframe-youtubeiframeembed-responsive embed-responsive-16by9embed-responsive-item//www.youtube.com/embed/zpOULjyy-n8?rel=0allowfullscreenembed-responsive embed-responsive-4by3/opt/src/docs/_includes/components/thumbnails.htmlthumbnails{{ site.baseurl }}/css/#gridhttp://masonry.desandro.comhttp://isotope.metafizzy.cohttp://salvattore.comthumbnails-defaultsimple-thumbnailscol-xs-6 col-md-3thumbnailholder.js/100%x180Generic placeholder thumbnailthumbnails-custom-contentthumbnails-with-custom-contentcol-sm-6 col-md-4holder.js/100%x200/opt/src/docs/_includes/components/wells.htmlwellsdefault-wellwelllarge-wellwell well-lgsmall-wellwell well-sm/opt/src/docs/_includes/css/buttons.html/opt/src/docs/_includes/css<!-- Standard button --><!-- Provides extra visual weight and identifies the primary action in a set of buttons --><!-- Indicates a successful or positive action --><!-- Contextual button for informational alert messages --><!-- Indicates caution should be taken with this action --><!-- Indicates a dangerous or potentially negative action --><!-- Deemphasize a button by making it look like a link while maintaining button behavior -->buttons-tagsbtn-tagsInputSubmitcallout-buttons-context-usagecallout-buttons-anchor-accessibilitycallout-buttons-ff-heighthttps://bugzilla.mozilla.org/show_bug.cgi?id=697451buttons-optionsbtn-variantsbtn btn-linkcallout-buttons-color-accessibilitybuttons-sizesbtn-sizesbtn btn-primary btn-smbtn btn-primary btn-xsblock-btnswell center-blockmax-width: 400px;btn btn-primary btn-lg btn-blockbtn btn-default btn-lg btn-blockbuttons-activeactive-button-btnsbtn btn-primary btn-lg activebtn btn-default btn-lg activeactive-anchor-btnsbuttons-disableddisabled-button-btnsbtn btn-lg btn-primarycallout-buttons-ie-disableddisabled-anchor-btnsbtn btn-primary btn-lg disabledbtn btn-default btn-lg disabledcallout-buttons-disabled-anchor/opt/src/docs/_includes/css/code.htmlkbdpresampcode-inlineinline-codecode-user-inputsimple-kbdcode-blocksimple-precode-variablessimple-varcode-sample-outputsimple-samp/opt/src/docs/_includes/css/forms.htmltextareaforms-examplebasic-formsexampleInputEmail1emailEmailexampleInputPassword1PasswordexampleInputFilehelp-blockcallout-formgroup-inputgroup/components/#input-groupsforms-inlinecallout-inline-form-widthcallout-inline-form-labelssimple-form-inlineform-inlineexampleInputName2Jane DoeexampleInputEmail2jane.doe@example.comexampleInputEmail3exampleInputPassword3form-inline-with-input-groupexampleInputAmountAmountforms-horizontalsimple-horizontal-formform-horizontalinputEmail3col-sm-2 control-labelcol-sm-10inputPassword3col-sm-offset-2 col-sm-10forms-controlscallout-input-needs-typetext-form-controlText inputcallout-xref-input-group{{ site.baseurl }}/components/#input-groupstextarea-form-controlTextareablock-checkboxes-radioscheckbox disabledoptionsRadiosoptionsRadios1option1optionsRadios2option2radio disabledoptionsRadios3option3inline-checkboxes-radioscheckbox-inlineinlineCheckbox1inlineCheckbox2inlineCheckbox3radio-inlineinlineRadioOptionsinlineRadio1inlineRadio2inlineRadio3checkboxes-radios-without-labelsblankCheckboxCheckbox without label textblankRadioblankRadio1Radio button without label textdata-example-idsselect-form-controloptionselect-multiple-form-controlforms-controls-statichorizontal-static-form-controlform-control-staticinputPasswordinline-static-form-controlinputPassword2forms-control-focusfocusedInputDemonstrative focus statecallout-focus-demoforms-control-disabledtext-form-control-disableddisabledInputDisabled input here…Disabled input here...forms-disabled-fieldsetscallout-fieldset-disabled-pointer-events#buttons-disabledcallout-fieldset-disabled-iedisabled-fieldsetfieldsetdisabledTextInputDisabled inputdisabledSelectforms-control-readonlyreadonly-text-form-controlReadonly input here…forms-help-textcallout-help-text-accessibilitysimple-help-textinputHelpBlockhelpBlockforms-control-validationcallout-form-validation-state-accessibility{{ site.baseurl }}/components/#glyphicons{{ site.baseurl }}/components/#glyphicons-examples#forms-help-textform-validation-statesform-group has-successcontrol-labelinputSuccess1helpBlock2form-group has-warninginputWarning1form-group has-errorinputError1has-successcheckboxSuccesshas-warningcheckboxWarninghas-errorcheckboxErrorcallout-has-feedback-icon-positioning{{ site.baseurl }}/components#input-groupscallout-has-feedback-icon-accessibilityform-validation-states-with-iconsform-group has-success has-feedbackinputSuccess2inputSuccess2Statusglyphicon glyphicon-ok form-control-feedbackform-group has-warning has-feedbackinputWarning2inputWarning2Statusglyphicon glyphicon-warning-sign form-control-feedbackform-group has-error has-feedbackinputError2inputError2Statusglyphicon glyphicon-remove form-control-feedbackinputGroupSuccess1inputGroupSuccess1Statushorizontal-form-validation-state-with-iconcontrol-label col-sm-3inputSuccess3col-sm-9inputSuccess3StatusinputGroupSuccess2inputGroupSuccess2Statusinline-form-validation-state-with-iconinputSuccess4inputSuccess4StatusinputGroupSuccess3inputGroupSuccess3Statusform-validation-state-with-icon-without-labelcontrol-label sr-onlyinputSuccess5inputSuccess5StatusinputGroupSuccess4inputGroupSuccess4Statusforms-control-sizesbs-example bs-example-control-sizingform-control-height-sizesform-control input-lg.input-lgDefault inputform-control input-sm.input-smform-group-height-sizesform-group form-group-lgformGroupInputLargeLarge inputform-group form-group-smformGroupInputSmallSmall inputform-control-column-sizingcol-xs-2.col-xs-2col-xs-3.col-xs-3col-xs-4.col-xs-4/opt/src/docs/_includes/css/grid.htmlgrid<!-- Stack the columns on mobile by making one full-width and the other half-width --><!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop --><!-- Columns are always 50% wide, on mobile and desktop -->#grid-example-basic#grid-lessgrid-introgrid-media-queriesgrid-optionstable-responsivetable table-bordered table-stripedtext-nowrapcolspantext-mutedgrid-example-basicrow show-gridcol-md-1col-md-8col-md-4col-md-6grid-example-fluidgrid-example-mixedcol-xs-12 col-md-8col-xs-6 col-md-4col-xs-6grid-example-mixed-completecol-xs-12 col-sm-6 col-md-8<!-- Optional: clear the XS cols if their content doesn't match in height -->col-xs-6 col-sm-4clearfix visible-xs-blockgrid-example-wrappingcol-xs-9grid-responsive-resets#responsive-utilities<!-- Add the extra clearfix for only the required viewport -->col-xs-6 col-sm-3{{ site.baseurl }}/examples/grid/col-sm-5 col-md-6col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0col-sm-6 col-md-5 col-lg-6col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0grid-remove-guttersrow row-no-gutters show-gridrow row-no-guttersgrid-offsettingcol-md-4 col-md-offset-4col-md-3 col-md-offset-3col-md-6 col-md-offset-3col-xs-6 col-xs-offset-3 col-sm-4 col-sm-offset-0grid-nestingcol-xs-8 col-sm-6col-xs-4 col-sm-6grid-column-orderingcol-md-9 col-md-push-3col-md-3 col-md-pull-9grid-lesscontent-maincontent-secondary/opt/src/docs/_includes/css/helpers.htmlhelpers<!-- Usage as a class -->helper-classeshelper-classes-colorscontextual-colors-helperstext-primarytext-successtext-infotext-warningcallout-helper-context-color-specificitycallout-helper-context-color-accessibilityhelper-classes-backgroundsbs-example bs-example-bg-classescontextual-backgrounds-helpersbg-primarybg-successbg-infobg-warningbg-dangercallout-helper-bg-specificitycallout-helper-bg-accessibility#helper-classes-colorshelper-classes-closeclose-iconhelper-classes-carets{{ site.baseurl }}/components/#btn-dropdowns-dropuphelper-classes-floatspull-leftpull-rightcallout-helper-pull-navbar{{ site.baseurl }}/components/#navbar-component-alignmenthelper-classes-centercenter-blockhelper-classes-clearfixhttp://nicolasgallagher.com/micro-clearfix-hack/clearfixhelper-classes-show-hide#helper-classes-floatshelper-classes-screen-readers{{ site.baseurl }}/getting-started/#accessibilitysr-only sr-only-focusable#contenthelper-classes-image-replacementtext-hide/opt/src/docs/_includes/css/images.htmlimages-responsive{{ site.baseurl }}/css/#helper-classes-centercallout-images-ie-svgimg-responsiveResponsive imageimages-shapescallout-images-ie-rounded-cornersbs-example bs-example-imagesimage-shapesholder.js/140x140img-roundedA generic square placeholder image with rounded cornersimg-circleA generic square placeholder image where only the portion within the circle circumscribed about said square is visibleimg-thumbnailA generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera/opt/src/docs/_includes/css/less.htmlless-bootstrap{{ site.baseurl }}/getting-started/#gruntless-variables{{ site.baseurl }}/customize/#less-variables-sectionless-variables-colorscolor-swatchescolor-swatch gray-darkercolor-swatch gray-darkcolor-swatch graycolor-swatch gray-lightcolor-swatch gray-lightercolor-swatch brand-primarycolor-swatch brand-successcolor-swatch brand-infocolor-swatch brand-warningcolor-swatch brand-dangerless-variables-scaffoldingless-variables-linksless-variables-typographyless-variables-iconsless-variables-componentsless-mixins-vendorless-mixins-box-sizinghttps://developer.mozilla.org/en-US/docs/CSS/box-sizing_blankless-mixins-rounded-cornersless-mixins-box-shadowless-mixins-transitionsless-mixins-transformationsless-mixins-animationsless-mixins-opacityless-mixins-placeholderless-mixins-columnsless-mixins-gradientsless-mixins-utilityless-mixins-clearfixhttps://twitter.com/necolasless-mixins-centeringless-mixins-sizingless-mixins-resizableless-mixins-truncatingless-mixins-retina-images/opt/src/docs/_includes/css/overview.htmloverviewoverview-doctypeenoverview-mobilewidth=device-width, initial-scale=1width=device-width, initial-scale=1, maximum-scale=1, user-scalable=nooverview-type-linksoverview-normalizehttp://necolas.github.io/normalize.css/https://twitter.com/jon_nealoverview-container/opt/src/docs/_includes/css/responsive-utilities.htmlresponsive-utilitiesresponsive-utilities-classestable table-bordered table-striped responsive-utilitiesis-visibleis-hiddenresponsive-utilities-printresponsive-utilities-testsrow responsive-utilities-test visible-onhidden-xsvisible-xs-blockhidden-smvisible-sm-blockhidden-mdvisible-md-blockhidden-lgvisible-lg-blockhidden-xs hidden-smvisible-xs-block visible-sm-blockhidden-md hidden-lgvisible-md-block visible-lg-blockhidden-xs hidden-mdvisible-xs-block visible-md-blockhidden-sm hidden-lgvisible-sm-block visible-lg-blockhidden-xs hidden-lgvisible-xs-block visible-lg-blockhidden-sm hidden-mdvisible-sm-block visible-md-blockrow responsive-utilities-test hidden-on/opt/src/docs/_includes/css/sass.html{{ site.sass_repo }}sass-contentssass-installationbtn btn-lg btn-outline/opt/src/docs/_includes/css/tables.htmltables<!-- On rows --><!-- On cells (`td` or `th`) -->tables-examplesimple-tabletables-stripedcallout-tables-striped-ie8striped-tabletable table-stripedtables-borderedbordered-tabletable table-borderedtables-hover-rowshoverable-tabletable table-hovertables-condensedcondensed-tabletable table-condensedtables-contextual-classescolgroupcol-xs-1col-xs-7contextual-tablewarningdangercallout-tables-context-accessibilitytables-responsivecallout-tables-responsive-overflowcallout-tables-responsive-ff-fieldsethttps://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685#17863685<!-- /.table-responsive -->simple-responsive-table/opt/src/docs/_includes/css/type.html<!-- Headings --><!-- Body copy --><!-- Body copy .lead --><!-- Using Less --><!-- Inline text elements -->delinsuem<!-- Abbreviations --><!-- Addresses --><!-- Blockquotes -->blockquote<!-- Lists -->dltype-headingsbs-example bs-example-typesimple-headingstype-infosmall-headingstype-body-copybody-copylead-copytype-inline-textsimple-marksimple-delsimple-ssimple-inssimple-usimple-smallsimple-strongsimple-emcallout-type-b-i-elemstype-alignmenttext-alignmenttext-lefttext-centertext-righttext-justifytype-transformationtext-capitalizationtext-lowercasetext-uppercasetext-capitalizetype-abbreviationssimple-abbrattributesimple-initialismHyperText Markup Languageinitialismtype-addressessimple-addressPhonemailto:#type-blockquotessimple-blockquoteblockquote-citefooterSource Titleoverflow: hidden;blockquote-reversetype-listssimple-ulsimple-olunstyled-listlist-unstyledlist-inlinesimple-dlddhorizontal-dldl-horizontalcallout-type-dl-truncate/opt/src/docs/_includes/customizer-variables.htmlcustomizer-variables<!-- NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-variables.pug template.--><!-- NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-variables.pug template.-->input-@gray-base#000data-var@gray-baseinput-@gray-darkerlighten(@gray-base, 13.5%)@gray-darkerinput-@gray-darklighten(@gray-base, 20%)@gray-darkinput-@graylighten(@gray-base, 33.5%)@grayinput-@gray-lightlighten(@gray-base, 46.7%)@gray-lightinput-@gray-lighterlighten(@gray-base, 93.5%)@gray-lighterinput-@brand-primarydarken(#428bca, 6.5%)@brand-primaryinput-@brand-success#5cb85c@brand-successinput-@brand-info#5bc0de@brand-infoinput-@brand-warning#f0ad4e@brand-warninginput-@brand-danger#d9534f@brand-dangerscaffoldinginput-@body-bghelp-block-@body-bg#fff@body-bginput-@text-colorhelp-block-@text-color@text-colorinput-@link-colorhelp-block-@link-color@link-colorinput-@link-hover-colorhelp-block-@link-hover-colordarken(@link-color, 15%)@link-hover-colorinput-@link-hover-decorationhelp-block-@link-hover-decorationunderline@link-hover-decorationtypographyinput-@font-family-sans-serif"Helvetica Neue", Helvetica, Arial, sans-serif@font-family-sans-serifinput-@font-family-serifGeorgia, "Times New Roman", Times, serif@font-family-serifinput-@font-family-monospacehelp-block-@font-family-monospaceMenlo, Monaco, Consolas, "Courier New", monospace@font-family-monospaceinput-@font-family-base@font-family-baseinput-@font-size-base14px@font-size-baseinput-@font-size-largeceil((@font-size-base * 1.25))@font-size-largeinput-@font-size-smallceil((@font-size-base * 0.85))@font-size-smallinput-@font-size-h1floor((@font-size-base * 2.6))@font-size-h1input-@font-size-h2floor((@font-size-base * 2.15))@font-size-h2input-@font-size-h3ceil((@font-size-base * 1.7))@font-size-h3input-@font-size-h4@font-size-h4input-@font-size-h5@font-size-h5input-@font-size-h6@font-size-h6input-@line-height-basehelp-block-@line-height-base1.428571429@line-height-baseinput-@line-height-computedhelp-block-@line-height-computedfloor((@font-size-base * @line-height-base))@line-height-computedinput-@headings-font-familyhelp-block-@headings-font-familyinherit@headings-font-familyinput-@headings-font-weight500@headings-font-weightinput-@headings-line-height1.1@headings-line-heightinput-@headings-color@headings-coloriconographyinput-@icon-font-pathhelp-block-@icon-font-path"../fonts/"@icon-font-pathinput-@icon-font-namehelp-block-@icon-font-name"glyphicons-halflings-regular"@icon-font-nameinput-@icon-font-svg-idhelp-block-@icon-font-svg-id"glyphicons_halflingsregular"@icon-font-svg-idinput-@padding-base-vertical6px@padding-base-verticalinput-@padding-base-horizontal12px@padding-base-horizontalinput-@padding-large-vertical10px@padding-large-verticalinput-@padding-large-horizontal16px@padding-large-horizontalinput-@padding-small-vertical5px@padding-small-verticalinput-@padding-small-horizontal@padding-small-horizontalinput-@padding-xs-vertical1px@padding-xs-verticalinput-@padding-xs-horizontal@padding-xs-horizontalinput-@line-height-large1.3333333@line-height-largeinput-@line-height-small1.5@line-height-smallinput-@border-radius-base4px@border-radius-baseinput-@border-radius-large@border-radius-largeinput-@border-radius-small3px@border-radius-smallinput-@component-active-colorhelp-block-@component-active-color@component-active-colorinput-@component-active-bghelp-block-@component-active-bg@component-active-bginput-@caret-width-basehelp-block-@caret-width-base@caret-width-baseinput-@caret-width-largehelp-block-@caret-width-large@caret-width-largeinput-@table-cell-paddinghelp-block-@table-cell-padding8px@table-cell-paddinginput-@table-condensed-cell-paddinghelp-block-@table-condensed-cell-padding@table-condensed-cell-paddinginput-@table-bghelp-block-@table-bgtransparent@table-bginput-@table-bg-accenthelp-block-@table-bg-accent#f9f9f9@table-bg-accentinput-@table-bg-hoverhelp-block-@table-bg-hover#f5f5f5@table-bg-hoverinput-@table-bg-active@table-bg-activeinput-@table-border-colorhelp-block-@table-border-color#ddd@table-border-colorinput-@btn-font-weightnormal@btn-font-weightinput-@btn-default-color#333@btn-default-colorinput-@btn-default-bg@btn-default-bginput-@btn-default-border#ccc@btn-default-borderinput-@btn-primary-color@btn-primary-colorinput-@btn-primary-bg@btn-primary-bginput-@btn-primary-borderdarken(@btn-primary-bg, 5%)@btn-primary-borderinput-@btn-success-color@btn-success-colorinput-@btn-success-bg@btn-success-bginput-@btn-success-borderdarken(@btn-success-bg, 5%)@btn-success-borderinput-@btn-info-color@btn-info-colorinput-@btn-info-bg@btn-info-bginput-@btn-info-borderdarken(@btn-info-bg, 5%)@btn-info-borderinput-@btn-warning-color@btn-warning-colorinput-@btn-warning-bg@btn-warning-bginput-@btn-warning-borderdarken(@btn-warning-bg, 5%)@btn-warning-borderinput-@btn-danger-color@btn-danger-colorinput-@btn-danger-bg@btn-danger-bginput-@btn-danger-borderdarken(@btn-danger-bg, 5%)@btn-danger-borderinput-@btn-link-disabled-color@btn-link-disabled-colorinput-@btn-border-radius-base@btn-border-radius-baseinput-@btn-border-radius-large@btn-border-radius-largeinput-@btn-border-radius-small@btn-border-radius-smallinput-@input-bghelp-block-@input-bg@input-bginput-@input-bg-disabledhelp-block-@input-bg-disabled@input-bg-disabledinput-@input-colorhelp-block-@input-color@input-colorinput-@input-borderhelp-block-@input-border@input-borderinput-@input-border-radiushelp-block-@input-border-radius@input-border-radiusinput-@input-border-radius-largehelp-block-@input-border-radius-large@input-border-radius-largeinput-@input-border-radius-smallhelp-block-@input-border-radius-small@input-border-radius-smallinput-@input-border-focushelp-block-@input-border-focus#66afe9@input-border-focusinput-@input-color-placeholderhelp-block-@input-color-placeholder#999@input-color-placeholderinput-@input-height-basehelp-block-@input-height-base(@line-height-computed + (@padding-base-vertical * 2) + 2)@input-height-baseinput-@input-height-largehelp-block-@input-height-large(ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2)@input-height-largeinput-@input-height-smallhelp-block-@input-height-small(floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2)@input-height-smallinput-@form-group-margin-bottomhelp-block-@form-group-margin-bottom15px@form-group-margin-bottominput-@legend-color@legend-colorinput-@legend-border-color#e5e5e5@legend-border-colorinput-@input-group-addon-bghelp-block-@input-group-addon-bg@input-group-addon-bginput-@input-group-addon-border-colorhelp-block-@input-group-addon-border-color@input-group-addon-border-colorinput-@cursor-disabledhelp-block-@cursor-disablednot-allowed@cursor-disabledinput-@dropdown-bghelp-block-@dropdown-bg@dropdown-bginput-@dropdown-borderhelp-block-@dropdown-borderrgba(0,0,0,.15)@dropdown-borderinput-@dropdown-fallback-borderhelp-block-@dropdown-fallback-border@dropdown-fallback-borderinput-@dropdown-divider-bghelp-block-@dropdown-divider-bg@dropdown-divider-bginput-@dropdown-link-colorhelp-block-@dropdown-link-color@dropdown-link-colorinput-@dropdown-link-hover-colorhelp-block-@dropdown-link-hover-colordarken(@gray-dark, 5%)@dropdown-link-hover-colorinput-@dropdown-link-hover-bghelp-block-@dropdown-link-hover-bg@dropdown-link-hover-bginput-@dropdown-link-active-colorhelp-block-@dropdown-link-active-color@dropdown-link-active-colorinput-@dropdown-link-active-bghelp-block-@dropdown-link-active-bg@dropdown-link-active-bginput-@dropdown-link-disabled-colorhelp-block-@dropdown-link-disabled-color@dropdown-link-disabled-colorinput-@dropdown-header-colorhelp-block-@dropdown-header-color@dropdown-header-colorinput-@dropdown-caret-colorhelp-block-@dropdown-caret-color@dropdown-caret-colormedia-queries-breakpointsinput-@screen-xshelp-block-@screen-xs480px@screen-xsinput-@screen-xs-minhelp-block-@screen-xs-min@screen-xs-mininput-@screen-phonehelp-block-@screen-phone@screen-phoneinput-@screen-smhelp-block-@screen-sm768px@screen-sminput-@screen-sm-min@screen-sm-mininput-@screen-tablethelp-block-@screen-tablet@screen-tabletinput-@screen-mdhelp-block-@screen-md992px@screen-mdinput-@screen-md-min@screen-md-mininput-@screen-desktophelp-block-@screen-desktop@screen-desktopinput-@screen-lghelp-block-@screen-lg1200px@screen-lginput-@screen-lg-min@screen-lg-mininput-@screen-lg-desktophelp-block-@screen-lg-desktop@screen-lg-desktopinput-@screen-xs-max(@screen-sm-min - 1)@screen-xs-maxinput-@screen-sm-max(@screen-md-min - 1)@screen-sm-maxinput-@screen-md-max(@screen-lg-min - 1)@screen-md-maxgrid-systeminput-@grid-columnshelp-block-@grid-columns@grid-columnsinput-@grid-gutter-widthhelp-block-@grid-gutter-width30px@grid-gutter-widthinput-@grid-float-breakpointhelp-block-@grid-float-breakpoint@grid-float-breakpointinput-@grid-float-breakpoint-maxhelp-block-@grid-float-breakpoint-max(@grid-float-breakpoint - 1)@grid-float-breakpoint-maxcontainer-sizesinput-@container-tablet(720px + @grid-gutter-width)@container-tabletinput-@container-smhelp-block-@container-sm@container-sminput-@container-desktop(940px + @grid-gutter-width)@container-desktopinput-@container-mdhelp-block-@container-md@container-mdinput-@container-large-desktop(1140px + @grid-gutter-width)@container-large-desktopinput-@container-lghelp-block-@container-lg@container-lginput-@navbar-height50px@navbar-heightinput-@navbar-margin-bottom@navbar-margin-bottominput-@navbar-border-radius@navbar-border-radiusinput-@navbar-padding-horizontalfloor((@grid-gutter-width / 2))@navbar-padding-horizontalinput-@navbar-padding-vertical((@navbar-height - @line-height-computed) / 2)@navbar-padding-verticalinput-@navbar-collapse-max-height340px@navbar-collapse-max-heightinput-@navbar-default-color#777@navbar-default-colorinput-@navbar-default-bg#f8f8f8@navbar-default-bginput-@navbar-default-borderdarken(@navbar-default-bg, 6.5%)@navbar-default-borderinput-@navbar-default-link-color@navbar-default-link-colorinput-@navbar-default-link-hover-color@navbar-default-link-hover-colorinput-@navbar-default-link-hover-bg@navbar-default-link-hover-bginput-@navbar-default-link-active-color#555@navbar-default-link-active-colorinput-@navbar-default-link-active-bg@navbar-default-link-active-bginput-@navbar-default-link-disabled-color@navbar-default-link-disabled-colorinput-@navbar-default-link-disabled-bg@navbar-default-link-disabled-bginput-@navbar-default-brand-color@navbar-default-brand-colorinput-@navbar-default-brand-hover-colordarken(@navbar-default-brand-color, 10%)@navbar-default-brand-hover-colorinput-@navbar-default-brand-hover-bg@navbar-default-brand-hover-bginput-@navbar-default-toggle-hover-bg@navbar-default-toggle-hover-bginput-@navbar-default-toggle-icon-bar-bg#888@navbar-default-toggle-icon-bar-bginput-@navbar-default-toggle-border-color@navbar-default-toggle-border-colorinput-@navbar-inverse-colorlighten(@gray-light, 15%)@navbar-inverse-colorinput-@navbar-inverse-bg#222@navbar-inverse-bginput-@navbar-inverse-borderdarken(@navbar-inverse-bg, 10%)@navbar-inverse-borderinput-@navbar-inverse-link-color@navbar-inverse-link-colorinput-@navbar-inverse-link-hover-color@navbar-inverse-link-hover-colorinput-@navbar-inverse-link-hover-bg@navbar-inverse-link-hover-bginput-@navbar-inverse-link-active-color@navbar-inverse-link-active-colorinput-@navbar-inverse-link-active-bg@navbar-inverse-link-active-bginput-@navbar-inverse-link-disabled-color#444@navbar-inverse-link-disabled-colorinput-@navbar-inverse-link-disabled-bg@navbar-inverse-link-disabled-bginput-@navbar-inverse-brand-color@navbar-inverse-brand-colorinput-@navbar-inverse-brand-hover-color@navbar-inverse-brand-hover-colorinput-@navbar-inverse-brand-hover-bg@navbar-inverse-brand-hover-bginput-@navbar-inverse-toggle-hover-bg@navbar-inverse-toggle-hover-bginput-@navbar-inverse-toggle-icon-bar-bg@navbar-inverse-toggle-icon-bar-bginput-@navbar-inverse-toggle-border-color@navbar-inverse-toggle-border-colorshared-nav-stylesinput-@nav-link-padding10px 15px@nav-link-paddinginput-@nav-link-hover-bg@nav-link-hover-bginput-@nav-disabled-link-color@nav-disabled-link-colorinput-@nav-disabled-link-hover-color@nav-disabled-link-hover-colortabsinput-@nav-tabs-border-color@nav-tabs-border-colorinput-@nav-tabs-link-hover-border-color@nav-tabs-link-hover-border-colorinput-@nav-tabs-active-link-hover-bg@nav-tabs-active-link-hover-bginput-@nav-tabs-active-link-hover-color@nav-tabs-active-link-hover-colorinput-@nav-tabs-active-link-hover-border-color@nav-tabs-active-link-hover-border-colorinput-@nav-tabs-justified-link-border-color@nav-tabs-justified-link-border-colorinput-@nav-tabs-justified-active-link-border-color@nav-tabs-justified-active-link-border-colorpillsinput-@nav-pills-border-radius@nav-pills-border-radiusinput-@nav-pills-active-link-hover-bg@nav-pills-active-link-hover-bginput-@nav-pills-active-link-hover-color@nav-pills-active-link-hover-colorinput-@pagination-color@pagination-colorinput-@pagination-bg@pagination-bginput-@pagination-border@pagination-borderinput-@pagination-hover-color@pagination-hover-colorinput-@pagination-hover-bg@pagination-hover-bginput-@pagination-hover-border@pagination-hover-borderinput-@pagination-active-color@pagination-active-colorinput-@pagination-active-bg@pagination-active-bginput-@pagination-active-border@pagination-active-borderinput-@pagination-disabled-color@pagination-disabled-colorinput-@pagination-disabled-bg@pagination-disabled-bginput-@pagination-disabled-border@pagination-disabled-borderinput-@pager-bg@pager-bginput-@pager-border@pager-borderinput-@pager-border-radius@pager-border-radiusinput-@pager-hover-bg@pager-hover-bginput-@pager-active-bg@pager-active-bginput-@pager-active-color@pager-active-colorinput-@pager-disabled-color@pager-disabled-colorinput-@jumbotron-padding@jumbotron-paddinginput-@jumbotron-color@jumbotron-colorinput-@jumbotron-bg@jumbotron-bginput-@jumbotron-heading-color@jumbotron-heading-colorinput-@jumbotron-font-sizeceil((@font-size-base * 1.5))@jumbotron-font-sizeinput-@jumbotron-heading-font-sizeceil((@font-size-base * 4.5))@jumbotron-heading-font-sizeform-states-and-alertsinput-@state-success-text#3c763d@state-success-textinput-@state-success-bg#dff0d8@state-success-bginput-@state-success-borderdarken(spin(@state-success-bg, -10), 5%)@state-success-borderinput-@state-info-text#31708f@state-info-textinput-@state-info-bg#d9edf7@state-info-bginput-@state-info-borderdarken(spin(@state-info-bg, -10), 7%)@state-info-borderinput-@state-warning-text#8a6d3b@state-warning-textinput-@state-warning-bg#fcf8e3@state-warning-bginput-@state-warning-borderdarken(spin(@state-warning-bg, -10), 5%)@state-warning-borderinput-@state-danger-text#a94442@state-danger-textinput-@state-danger-bg#f2dede@state-danger-bginput-@state-danger-borderdarken(spin(@state-danger-bg, -10), 5%)@state-danger-bordertooltipsinput-@tooltip-max-widthhelp-block-@tooltip-max-width200px@tooltip-max-widthinput-@tooltip-colorhelp-block-@tooltip-color@tooltip-colorinput-@tooltip-bghelp-block-@tooltip-bg@tooltip-bginput-@tooltip-opacity.9@tooltip-opacityinput-@tooltip-arrow-widthhelp-block-@tooltip-arrow-width@tooltip-arrow-widthinput-@tooltip-arrow-colorhelp-block-@tooltip-arrow-color@tooltip-arrow-colorpopoversinput-@popover-bghelp-block-@popover-bg@popover-bginput-@popover-max-widthhelp-block-@popover-max-width276px@popover-max-widthinput-@popover-border-colorhelp-block-@popover-border-colorrgba(0,0,0,.2)@popover-border-colorinput-@popover-fallback-border-colorhelp-block-@popover-fallback-border-color@popover-fallback-border-colorinput-@popover-title-bghelp-block-@popover-title-bgdarken(@popover-bg, 3%)@popover-title-bginput-@popover-arrow-widthhelp-block-@popover-arrow-width@popover-arrow-widthinput-@popover-arrow-colorhelp-block-@popover-arrow-color@popover-arrow-colorinput-@popover-arrow-outer-widthhelp-block-@popover-arrow-outer-width(@popover-arrow-width + 1)@popover-arrow-outer-widthinput-@popover-arrow-outer-colorhelp-block-@popover-arrow-outer-colorfadein(@popover-border-color, 5%)@popover-arrow-outer-colorinput-@popover-arrow-outer-fallback-colorhelp-block-@popover-arrow-outer-fallback-colordarken(@popover-fallback-border-color, 20%)@popover-arrow-outer-fallback-colorinput-@label-default-bghelp-block-@label-default-bg@label-default-bginput-@label-primary-bghelp-block-@label-primary-bg@label-primary-bginput-@label-success-bghelp-block-@label-success-bg@label-success-bginput-@label-info-bghelp-block-@label-info-bg@label-info-bginput-@label-warning-bghelp-block-@label-warning-bg@label-warning-bginput-@label-danger-bghelp-block-@label-danger-bg@label-danger-bginput-@label-colorhelp-block-@label-color@label-colorinput-@label-link-hover-colorhelp-block-@label-link-hover-color@label-link-hover-colormodalsinput-@modal-inner-paddinghelp-block-@modal-inner-padding@modal-inner-paddinginput-@modal-title-paddinghelp-block-@modal-title-padding@modal-title-paddinginput-@modal-title-line-heighthelp-block-@modal-title-line-height@modal-title-line-heightinput-@modal-content-bghelp-block-@modal-content-bg@modal-content-bginput-@modal-content-border-colorhelp-block-@modal-content-border-color@modal-content-border-colorinput-@modal-content-fallback-border-colorhelp-block-@modal-content-fallback-border-color@modal-content-fallback-border-colorinput-@modal-backdrop-bghelp-block-@modal-backdrop-bg@modal-backdrop-bginput-@modal-backdrop-opacityhelp-block-@modal-backdrop-opacity.5@modal-backdrop-opacityinput-@modal-header-border-colorhelp-block-@modal-header-border-color@modal-header-border-colorinput-@modal-footer-border-colorhelp-block-@modal-footer-border-color@modal-footer-border-colorinput-@modal-lg900px@modal-lginput-@modal-md600px@modal-mdinput-@modal-sm300px@modal-sminput-@alert-padding@alert-paddinginput-@alert-border-radius@alert-border-radiusinput-@alert-link-font-weight@alert-link-font-weightinput-@alert-success-bg@alert-success-bginput-@alert-success-text@alert-success-textinput-@alert-success-border@alert-success-borderinput-@alert-info-bg@alert-info-bginput-@alert-info-text@alert-info-textinput-@alert-info-border@alert-info-borderinput-@alert-warning-bg@alert-warning-bginput-@alert-warning-text@alert-warning-textinput-@alert-warning-border@alert-warning-borderinput-@alert-danger-bg@alert-danger-bginput-@alert-danger-text@alert-danger-textinput-@alert-danger-border@alert-danger-borderinput-@progress-bghelp-block-@progress-bg@progress-bginput-@progress-bar-colorhelp-block-@progress-bar-color@progress-bar-colorinput-@progress-border-radiushelp-block-@progress-border-radius@progress-border-radiusinput-@progress-bar-bghelp-block-@progress-bar-bg@progress-bar-bginput-@progress-bar-success-bghelp-block-@progress-bar-success-bg@progress-bar-success-bginput-@progress-bar-warning-bghelp-block-@progress-bar-warning-bg@progress-bar-warning-bginput-@progress-bar-danger-bghelp-block-@progress-bar-danger-bg@progress-bar-danger-bginput-@progress-bar-info-bghelp-block-@progress-bar-info-bg@progress-bar-info-bginput-@list-group-bghelp-block-@list-group-bg@list-group-bginput-@list-group-borderhelp-block-@list-group-border@list-group-borderinput-@list-group-border-radiushelp-block-@list-group-border-radius@list-group-border-radiusinput-@list-group-hover-bghelp-block-@list-group-hover-bg@list-group-hover-bginput-@list-group-active-colorhelp-block-@list-group-active-color@list-group-active-colorinput-@list-group-active-bghelp-block-@list-group-active-bg@list-group-active-bginput-@list-group-active-borderhelp-block-@list-group-active-border@list-group-active-borderinput-@list-group-active-text-colorhelp-block-@list-group-active-text-colorlighten(@list-group-active-bg, 40%)@list-group-active-text-colorinput-@list-group-disabled-colorhelp-block-@list-group-disabled-color@list-group-disabled-colorinput-@list-group-disabled-bghelp-block-@list-group-disabled-bg@list-group-disabled-bginput-@list-group-disabled-text-colorhelp-block-@list-group-disabled-text-color@list-group-disabled-text-colorinput-@list-group-link-color@list-group-link-colorinput-@list-group-link-hover-color@list-group-link-hover-colorinput-@list-group-link-heading-color@list-group-link-heading-colorinput-@panel-bg@panel-bginput-@panel-body-padding@panel-body-paddinginput-@panel-heading-padding@panel-heading-paddinginput-@panel-footer-padding@panel-footer-paddinginput-@panel-border-radius@panel-border-radiusinput-@panel-inner-borderhelp-block-@panel-inner-border@panel-inner-borderinput-@panel-footer-bg@panel-footer-bginput-@panel-default-text@panel-default-textinput-@panel-default-border@panel-default-borderinput-@panel-default-heading-bg@panel-default-heading-bginput-@panel-primary-text@panel-primary-textinput-@panel-primary-border@panel-primary-borderinput-@panel-primary-heading-bg@panel-primary-heading-bginput-@panel-success-text@panel-success-textinput-@panel-success-border@panel-success-borderinput-@panel-success-heading-bg@panel-success-heading-bginput-@panel-info-text@panel-info-textinput-@panel-info-border@panel-info-borderinput-@panel-info-heading-bg@panel-info-heading-bginput-@panel-warning-text@panel-warning-textinput-@panel-warning-border@panel-warning-borderinput-@panel-warning-heading-bg@panel-warning-heading-bginput-@panel-danger-text@panel-danger-textinput-@panel-danger-border@panel-danger-borderinput-@panel-danger-heading-bg@panel-danger-heading-bginput-@thumbnail-paddinghelp-block-@thumbnail-padding@thumbnail-paddinginput-@thumbnail-bghelp-block-@thumbnail-bg@thumbnail-bginput-@thumbnail-borderhelp-block-@thumbnail-border@thumbnail-borderinput-@thumbnail-border-radiushelp-block-@thumbnail-border-radius@thumbnail-border-radiusinput-@thumbnail-caption-colorhelp-block-@thumbnail-caption-color@thumbnail-caption-colorinput-@thumbnail-caption-paddinghelp-block-@thumbnail-caption-padding9px@thumbnail-caption-paddinginput-@well-bg@well-bginput-@well-borderdarken(@well-bg, 7%)@well-borderinput-@badge-color@badge-colorinput-@badge-link-hover-colorhelp-block-@badge-link-hover-color@badge-link-hover-colorinput-@badge-bg@badge-bginput-@badge-active-colorhelp-block-@badge-active-color@badge-active-colorinput-@badge-active-bghelp-block-@badge-active-bg@badge-active-bginput-@badge-font-weight@badge-font-weightinput-@badge-line-height@badge-line-heightinput-@badge-border-radius@badge-border-radiusinput-@breadcrumb-padding-vertical@breadcrumb-padding-verticalinput-@breadcrumb-padding-horizontal@breadcrumb-padding-horizontalinput-@breadcrumb-bghelp-block-@breadcrumb-bg@breadcrumb-bginput-@breadcrumb-colorhelp-block-@breadcrumb-color@breadcrumb-colorinput-@breadcrumb-active-colorhelp-block-@breadcrumb-active-color@breadcrumb-active-colorinput-@breadcrumb-separatorhelp-block-@breadcrumb-separator"/"@breadcrumb-separatorcarouselinput-@carousel-text-shadow0 1px 2px rgba(0,0,0,.6)@carousel-text-shadowinput-@carousel-control-color@carousel-control-colorinput-@carousel-control-width15%@carousel-control-widthinput-@carousel-control-opacity@carousel-control-opacityinput-@carousel-control-font-size20px@carousel-control-font-sizeinput-@carousel-indicator-active-bg@carousel-indicator-active-bginput-@carousel-indicator-border-color@carousel-indicator-border-colorinput-@carousel-caption-color@carousel-caption-colorinput-@close-font-weight@close-font-weightinput-@close-color@close-colorinput-@close-text-shadow0 1px 0 #fff@close-text-shadowinput-@code-color#c7254e@code-colorinput-@code-bg#f9f2f4@code-bginput-@kbd-color@kbd-colorinput-@kbd-bg@kbd-bginput-@pre-bg@pre-bginput-@pre-color@pre-colorinput-@pre-border-color@pre-border-colorinput-@pre-scrollable-max-height@pre-scrollable-max-heightinput-@component-offset-horizontalhelp-block-@component-offset-horizontal180px@component-offset-horizontalinput-@text-mutedhelp-block-@text-muted@text-mutedinput-@abbr-border-colorhelp-block-@abbr-border-color@abbr-border-colorinput-@headings-small-colorhelp-block-@headings-small-color@headings-small-colorinput-@blockquote-small-colorhelp-block-@blockquote-small-color@blockquote-small-colorinput-@blockquote-font-sizehelp-block-@blockquote-font-size(@font-size-base * 1.25)@blockquote-font-sizeinput-@blockquote-border-colorhelp-block-@blockquote-border-color@blockquote-border-colorinput-@page-header-border-colorhelp-block-@page-header-border-color@page-header-border-colorinput-@dl-horizontal-offsethelp-block-@dl-horizontal-offset@dl-horizontal-offsetinput-@dl-horizontal-breakpointhelp-block-@dl-horizontal-breakpoint@dl-horizontal-breakpointinput-@hr-borderhelp-block-@hr-border@hr-border/opt/src/docs/_includes/footer.html'<script src="../assets/js/vendor/jquery.min.js"><\/script>'window. ... ript>')window.jQuerydocumen ... ript>')document.write'<scrip ... cript>'<script src="../assets/js/vendor/jquery.min.js"></script><script src="/assets/js/vendor/jqueryjs"></script> Set debug to true if you want to inspect the dropdown// Set  ... ropdowndocsearchapiKey'48cb48b22351bc71ea5f12f4d1ede198''bootstrap-v3'inputSelector'#search-input'transformDatahitshit'https://getbootstrap.com/docs/3.4/'var doc ... n\n  });docsear ... wn\n  }){\n    a ... own\n  }apiKey: ... ede198''48cb48 ... ede198'48cb48b22351bc71ea5f12f4d1ede198indexNa ... rap-v3'bootstrap-v3inputSe ... -input'#search-inputtransfo ... ;\n    }return  ...     });hits.ma ...      })hits.mapfunctio ...       }hit.url ... ', '');hit.url ... /', '')hit.urlhit.url.replace'https: ... s/3.4/'https://getbootstrap.com/docs/3.4/https://getbootstrapcom/docs/34/return hit;debug: falseError: Unexpected tokenvar __configBridge = {{ site.data.configBridge.config | jsonify }}_gauges'script''gauges-tracker''data-site-id''4f0dc9fef5a1f55508000013''//secure.gaug.es/track.js'var _ga ...  || [];_gauges ... s || []_gauges || [](functi ...   })();(functi ... \n  })()(functi ... );\n  })functio ... s);\n  }{\n    v ... s);\n  }var t   ... ript');t   = d ... cript')documen ... cript')documen ... Elementt.async = true;t.async = truet.asynct.id    ... acker';t.id    ... racker't.idgauges-trackert.setAt ... 0013');t.setAt ... 00013')t.setAttributedata-site-id'4f0dc9 ... 000013'4f0dc9fef5a1f55508000013t.src = ... ck.js';t.src = ... ack.js't.src'//secu ... ack.js'//secure.gaug.es/track.js//securegauges/trackvar s = ... t')[0];s = doc ... pt')[0]documen ... pt')[0]documen ... TagNames.paren ... (t, s);s.paren ... e(t, s)s.paren ... tBefores.parentNode<!-- Footer
================================================== --><!-- Bootstrap core JavaScript
================================================== --><!-- Placed at the end of the document so the pages load faster --><!-- IE10 viewport hack for Surface/desktop Windows 8 bug --><!-- Analytics
================================================== -->bs-docs-footerbs-docs-footer-links{{ site.repo }}https://twitter.com/getbootstrap{{ site.baseurl }}/getting-started/#examples{{ site.baseurl }}/about/https://twitter.com/mdohttps://twitter.com/fathttps://github.com/orgs/twbs/peoplehttps://github.com/twbs/bootstrap/graphs/contributorslicensehttps://github.com/twbs/bootstrap/blob/master/LICENSEhttps://creativecommons.org/licenses/by/3.0/https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js../dist/js/bootstrap.min.js../dist/js/bootstrap.js../assets/js/docs.min.js{{ file }}https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js../assets/js/customize.min.js../assets/js/ie10-viewport-bug-workaround.js/opt/src/docs/_includes/getting-started/accessibility.htmlaccessibility/opt/src/docs/_includes/getting-startedgetting-startedAssistive Technologyhttp://a11yproject.com/posts/skip-nav-linkscallout-skiplinkshttps://code.google.com/p/chromium/issues/detail?id=262171Chromium bug tracker - Issue 262171: Focus should cycle from named anchorhttp://accessibleculture.org/articles/2010/05/in-page-links/<!-- The main page content -->tabindex-1http://squizlabs.github.io/HTML_CodeSniffer/Standards/Section508/http://accessibility.psu.edu/headings{{ site.baseurl }}/css/#code-block{{ site.baseurl }}/css/#helper-classes-backgroundshttp://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrasthttps://github.com/squizlabs/HTML_CodeSnifferhttps://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=enhttp://www.paciellogroup.com/resources/contrastanalyser/http://a11yproject.com/https://developer.mozilla.org/en-US/docs/Accessibility/opt/src/docs/_includes/getting-started/browser-device-support.htmlbrowser-device-supportnuaisAndroid'Mozilla/5.0''Android ''AppleWebKit''Chrome''select.form-control''form-control''width''100%'$(funct ... \n  }\n})functio ... )\n  }\n}{\n  var ... )\n  }\n}var nua ... erAgentnua = n ... erAgentnavigator.userAgentvar isA ... === -1)isAndro ... === -1)(nua.in ... === -1)nua.ind ...  === -1nua.ind ... ') > -1nua.ind ... a/5.0')nua.indexOfMozilla/5.0Mozilla/5nua.ind ... roid ')Android nua.ind ... ebKit')AppleWebKitnua.ind ... hrome')Chromeif (isA ... %')\n  }{\n    $ ... %')\n  }$('sele ... '100%')$('sele ... l').css$('sele ... ntrol')$('sele ... veClass'select ... ontrol'select.form-control100%support-browsersmobile-devicesglyphicon glyphicon-okdesktop-browsersglyphicon glyphicon-removehttps://www.mozilla.org/en-US/firefox/organizations/faq/{ site.baseurl }}/browser-bugs/support-ie8-ie9https://github.com/scottjehl/Respondhttp://caniuse.com/support-ie8-respondjsrespond-js-x-domainhttps://github.com/scottjehl/Respond/blob/master/README.md#cdnx-domain-setuprespond-file-protohttps://github.com/scottjehl/Respond/blob/master/README.md#support--caveatsrespond-importsupport-ie8-box-sizingsupport-ie8-font-facehttps://github.com/twbs/bootstrap/issues/13863support-ie-compatibility-modeshttp-equivX-UA-CompatibleIE=edgehttps://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edgesupport-ie10-widthhttp://blogs.windows.com/windows_phone/b/wpdev/archive/2013/10/14/introducing-windows-phone-preview-for-developers.aspxhttp://timkadlec.com/2013/01/windows-phone-8-and-device-width/support-safari-percentagessupport-fixed-position-keyboardshttps://bugs.chromium.org/p/chromium/issues/detail?id=175502https://bugs.webkit.org/show_bug.cgi?id=153852https://bugs.webkit.org/show_bug.cgi?id=153856https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobilesupport-browser-zoomingsupport-sticky-hover-mobilesupport-printinghttps://github.com/twbs/bootstrap/issues/12078https://bugs.chromium.org/p/chromium/issues/detail?id=273306https://github.com/twbs/bootstrap/issues/14868https://bugs.webkit.org/show_bug.cgi?id=138192support-android-stock-browserhttps://stackoverflow.com/questions/14744437/html-select-box-not-showing-drop-down-arrow-on-android-version-4-0-when-set-withhttp://jsbin.com/kuvoz/1support-validatorshttp://browserhacks.comhttps://bugzilla.mozilla.org/show_bug.cgi?id=654072/opt/src/docs/_includes/getting-started/community.htmlcommunityhttp://blog.getbootstrap.com/irc://irc.freenode.net/%23bootstraphttps://stackoverflow.com/questions/tagged/twitter-bootstrap-3https://www.npmjs.com/browse/keyword/bootstrap/opt/src/docs/_includes/getting-started/disabling-responsiveness.htmldisabling-responsivenessdisable-responsive{{ site.baseurl }}/examples/non-responsive/{{ site.baseurl }}/css/#overview-mobile/opt/src/docs/_includes/getting-started/download.htmlga'send''event''Getting started''Download''Download compiled'ga('sen ... iled');ga('sen ... piled')Getting startedDownloadDownload compiled'Download source'ga('sen ... urce');ga('sen ... ource')Download source'Download Sass'ga('sen ... Sass');ga('sen ...  Sass')Download Sass<!-- Latest compiled and minified CSS --><!-- Optional theme --><!-- Latest compiled and minified JavaScript -->row bs-downloadscol-sm-4download-bootstrap{{ site.download.dist }}ga('send', 'event', 'Getting started', 'Download', 'Download compiled');download-source#grunt{{ site.download.source }}ga('send', 'event', 'Getting started', 'Download', 'Download source');download-sass{{ site.download.sass }}ga('send', 'event', 'Getting started', 'Download', 'Download Sass');download-cdnhttps://www.maxcdn.com/https://www.bootstrapcdn.com/{{ site.cdn.css }}{{ site.cdn.css_hash }}crossoriginanonymous{{ site.cdn.css_theme }}{{ site.cdn.css_theme_hash }}{{ site.cdn.js }}{{ site.cdn.js_hash }}download-bowerhttp://bower.iodownload-npmhttps://www.npmjs.comhttp://lesscss.orgdownload-composerhttps://getcomposer.orgdownload-autoprefixerhttps://github.com/postcss/autoprefixerhttp://webdesign.about.com/od/css/a/css-vendor-prefixes.htm/opt/src/docs/_includes/getting-started/examples.htmlexamples-frameworkrow bs-examples../examples/starter-template/../examples/screenshots/starter-template.jpgStarter template example../examples/theme/../examples/screenshots/theme.jpgBootstrap theme exampleclearfix visible-xs../examples/grid/../examples/screenshots/grid.jpgMultiple grids example../examples/jumbotron/../examples/screenshots/jumbotron.jpgJumbotron example../examples/jumbotron-narrow/../examples/screenshots/jumbotron-narrow.jpgNarrow jumbotron exampleexamples-navbars../examples/navbar/../examples/screenshots/navbar.jpgNavbar example../examples/navbar-static-top/../examples/screenshots/navbar-static.jpgStatic top navbar example../examples/navbar-fixed-top/../examples/screenshots/navbar-fixed.jpgFixed navbar exampleexamples-custom../examples/cover/../examples/screenshots/cover.jpgA one-page template example../examples/carousel/../examples/screenshots/carousel.jpgCarousel example../examples/blog/../examples/screenshots/blog.jpgBlog layout example../examples/dashboard/../examples/screenshots/dashboard.jpgDashboard example../examples/signin/../examples/screenshots/sign-in.jpgSign-in page example../examples/justified-nav/../examples/screenshots/justified-nav.jpgJustified nav example{{ site.baseurl }}/components/#nav-justified../examples/sticky-footer/../examples/screenshots/sticky-footer.jpgSticky footer example../examples/sticky-footer-navbar/../examples/screenshots/sticky-footer-navbar.jpgSticky footer with navbar exampleexamples-experiments../examples/non-responsive/../examples/screenshots/non-responsive.jpgNon-responsive example#disable-responsive../examples/offcanvas/../examples/screenshots/offcanvas.jpgOff-canvas navigation example/opt/src/docs/_includes/getting-started/grunt.htmlhttp://gruntjs.comgrunt-installinghttps://nodejs.org/download/https://www.npmjs.com/https://github.com/twbs/bootstrap/blob/master/package.jsongrunt-commandshttp://jshint.comhttp://qunitjs.comhttp://phantomjs.orghttp://jekyllrb.com/docs/installation/grunt-troubleshooting/opt/src/docs/_includes/getting-started/license.htmllicense-faqs{{ site.repo }}/blob/master/LICENSE/opt/src/docs/_includes/getting-started/template.html#examples<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --><!-- Bootstrap --><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --><!-- WARNING: Respond.js doesn't work if you view the page via file:// --><!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->utf-8css/bootstrap.min.css<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --><!-- Include all compiled plugins (below), or include individual files as needed -->js/bootstrap.min.js/opt/src/docs/_includes/getting-started/third-party-support.htmlthird-party-supportthird-partiesthird-box-sizinghttps://css-tricks.com/box-sizing//opt/src/docs/_includes/getting-started/tools.htmltools-bootlinthttps://github.com/twbs/bootlinthttp://en.wikipedia.org/wiki/Lint_(software)/opt/src/docs/_includes/getting-started/translations.html{{ language.url }}{{ language.code }}/opt/src/docs/_includes/getting-started/whats-included.htmlwhats-included<!-- NOTE: This info is intentionally duplicated in the README.
Copy any changes made here over to the README too. -->jquery-required#template{{ site.repo }}/blob/v{{ site.current_version }}/bower.jsonwhats-included-precompiledhttps://developer.chrome.com/devtools/docs/css-preprocessorswhats-included-source/opt/src/docs/_includes/header.htmlgm'GoogleAnalyticsObject''//www.google-analytics.com/analytics.js''ga''create''UA-146052-10''getbootstrap.com''pageview'(functi ... ,'ga');(functi ... ','ga')(functi ... m)\n  })functio ... ,m)\n  }{i['Goo ... ,m)\n  }i['Goog ... ct']=r;i['Goog ... ect']=ri['Goog ... bject']'Google ... Object'GoogleAnalyticsObjecti[r]=i[ ... Date();i[r]=i[ ...  Date()i[r]=i[ ... ments)}i[r]i[r]||f ... ments)}functio ... ments)}{\n  (i[ ... ments)}(i[r].q ... uments)(i[r].q ... ]).push(i[r].q=i[r].q||[])i[r].q=i[r].q||[]i[r].qi[r].q||[]i[r].l=1*new Date()i[r].l1*new Date()new Date()a=s.cre ... (o)[0];a=s.cre ... e(o)[0]a=s.createElement(o)s.createElement(o)s.createElementm=s.get ... e(o)[0]s.getEl ... e(o)[0]s.getEl ... Name(o)s.getEl ... TagNamea.async=1;a.async=1a.asynca.src=g;a.src=ga.srcm.paren ... re(a,m)m.paren ... tBeforem.parentNode'//www. ... ics.js'//www.google-analytics.com/analytics.js//wwwgoogle-analyticscom/analyticsga('cre ... .com');ga('cre ... p.com')UA-146052-10getbootstrap.comgetbootstrapcomga('sen ... view');ga('sen ... eview')pageview<!-- Bootstrap core CSS --><!-- Optional Bootstrap Theme --><!-- Documentation extras --><!--[if lt IE 9]><script src="{{ site.baseurl }}/assets/js/ie8-responsive-file-warning.js"></script><![endif]--><!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--><!-- Favicons -->Bootstrap, a sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.Mark Otto, Jacob Thornton, and Bootstrap contributors{{ site.baseurl }}/dist/css/bootstrap.min.css{{ site.baseurl }}/dist/css/bootstrap.cssdata:text/css;charset=utf-8,data-href{{ site.baseurl }}/dist/css/bootstrap-theme.min.cssbs-theme-stylesheet{{ site.baseurl }}/dist/css/bootstrap-theme.csshttps://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css{{ site.baseurl }}/assets/css/docs.min.css{{ site.baseurl }}/assets/css/docs.css{{ site.baseurl }}/assets/js/ie-emulation-modes-warning.jsapple-touch-icon{{ site.baseurl }}/apple-touch-icon.png{{ site.baseurl }}/favicon.ico/opt/src/docs/_includes/js/affix.htmlaffix/opt/src/docs/_includes/jshraffix-exampleshttps://developer.mozilla.org/en-US/docs/Web/CSS/position#Sticky_positioningbs-docs-separatoraffix-usagehttps://github.com/twbs/bootstrap/issues/12126data-spydata-offset-topdata-offset-bottom200affix-optionstable table-bordered table-striped js-options-tableaffix-methodsaffix-eventstable table-bordered table-striped bs-events-table/opt/src/docs/_includes/js/alerts.htmlbs-example bs-example-standalonedismissible-alert-jsalert alert-warning alert-dismissible fade inalert alert-danger alert-dismissible fade inalerts-usagealerts-methodsalerts-events/opt/src/docs/_includes/js/buttons.html business logic...// business logic...'#myButton''click'$btn'loading''reset'$('#myB ... ')\n  })$('#myButton').on$('#myButton')#myButtonfunctio ... t')\n  }{\n    v ... t')\n  }var $bt ... ading')$btn =  ... ading')$(this) ... ading')$(this).button$(this)loading$btn.button('reset')$btn.button button text will be "finished!"// butt ... ished!"'#myStateButton''complete'$('#myS ... !"\n  })$('#myS ... on').on$('#myStateButton')#myStateButtonfunctio ... d!"\n  }{\n    $ ... d!"\n  }$(this) ... plete')callout-buttons-ff-autocompletehttps://github.com/twbs/bootstrap/issues/793buttons-statefulcallout-buttons-state-names#buttons-methodsloading-example-btndata-loading-textLoading...myButtonbuttons-single-togglecallout-buttons-single-pretoggledbuttons-checkbox-radiocallout-buttons-multi-preselectedcallout-buttons-only-clickbuttons-checkboxbtn btn-primary activebuttons-radiobuttons-methodsmyStateButtondata-complete-textfinished!/opt/src/docs/_includes/js/carousel.htmlcarousel-examplessimple-carouselcarousel-example-genericcarousel slidedata-ridecarousel-indicators#carousel-example-genericdata-slide-tocarousel-innerlistboxitem activeholder.js/900x500/auto/#777:#555/text:First slideFirst slideholder.js/900x500/auto/#666:#444/text:Second slideSecond slideholder.js/900x500/auto/#555:#333/text:Third slideThird slideleft carousel-controldata-slideglyphicon glyphicon-chevron-leftright carousel-controlglyphicon glyphicon-chevron-right<!-- Indicators --><!-- Wrapper for slides --><!-- Controls -->carousel-captioncallout-carousel-accessibilitycallout-carousel-transitionscallout-carousel-activecallout-carousel-without-glyphiconscarousel-with-captionscarousel-example-captions#carousel-example-captionsholder.js/900x500/auto/#777:#777First slide imageholder.js/900x500/auto/#666:#666Second slide imageholder.js/900x500/auto/#555:#555Third slide imagecarousel-usagecarousel-optionscarousel-methodscarousel-events/opt/src/docs/_includes/js/collapse.htmlcallout-collapse-dependency#transitionscollapse-example#collapseExamplearia-controlscollapseExamplecollapse-example-accordioncollapse-accordionpanel-groupaccordionaria-multiselectableheadingOnedata-parent#accordion#collapseOnecollapseOnepanel-collapse collapse intabpanelheadingTwo#collapseTwocollapseTwopanel-collapse collapseheadingThree#collapseThreecollapseThreecollapseListGroupHeading1#collapseListGroup1collapseListGroup1callout-collapse-accessibilitycollapse-usagecollapse-optionscollapse-methodscollapse-events/opt/src/docs/_includes/js/dropdowns.html<!-- ./bs-table-responsive -->dropdowns-examples<!-- /navbar-example -->navbar-examplenavbar navbar-default navbar-static<!-- /.nav-collapse -->.bs-example-js-navbar-collapsecollapse navbar-collapse bs-example-js-navbar-collapsedrop1drop2fat-menudrop3<!-- /pills -->drop4menu1drop5menu2drop6menu3dropdowns-usagehttp://example.comcallout-dropdowns-data-requireddropdowns-optionsdropdowns-methodsdropdowns-events/opt/src/docs/_includes/js/modal.htmlmodal<!-- /.modal --><!-- sample modal content --><!-- Button trigger modal --><!-- Modal --><!-- Large modal --><!-- Small modal --><!--  Modal content for the above example -->callout-stacked-modalscallout-modal-markup-placementcallout-modal-mobile-caveatsmodals-examplesbs-example bs-example-modalstatic-modal<!-- /.modal-dialog -->dialog<!-- /.modal-content -->modal-dialogmodal-contentmodal-headermodal-titlemodal-bodymodal-footermodal fademyModalmyModalLabelbtn btn-default popover-testA Titledata-contentAnd here's some amazing content. It's very engaging. right?tooltip-testTooltipbs-example bs-example-padded-bottom#myModalcallout-modal-accessibilitycallout-modal-youtubehttps://stackoverflow.com/questions/18622508/bootstrap-3-and-youtube-in-modalmodals-sizes.bs-example-modal-lg.bs-example-modal-smmyLargeModalLabelmodal-dialog modal-lgmySmallModalLabelmodal-dialog modal-smmodal fade bs-example-modal-lgmodal fade bs-example-modal-smmodals-remove-animationmodals-grid-systemgridSystemModalgridModalLabelcol-md-2 col-md-offset-4#gridSystemModalgridSystemModalLabelmodals-related-targethttps://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributeshttp://api.jquery.com/data/#exampleModaldata-whatever@mdo@fat@getbootstrapexampleModalexampleModalLabelrecipient-namemessage-textmodals-usagemodals-optionshttp://api.jquery.com/load/remote.html#modalmodals-methodsmodals-events/opt/src/docs/_includes/js/overview.htmljs-overviewjs-individual-compiledcallout-overview-not-bothcallout-overview-dependenciesjs-data-attrscallout-overview-single-datajs-programmatic-apijs-noconflictjs-eventsjs-version-numsjs-disabledhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscriptcallout-third-party-libs/opt/src/docs/_includes/js/popovers.htmlcallout-popover-needs-tooltip#tooltipscallout-popover-opt-incallout-popover-groupscallout-popover-hiddencallout-popover-disabledcallout-popover-multilinepopovers-examplesbs-example bs-example-popoverstatic-popoverspopover toparrowpopover-titlepopover-contentpopover rightpopover bottompopover leftbtn btn-lg btn-danger bs-docs-popoverpopoverPopover titleAnd here's some amazing content. It's very engaging. Right?btn btn-lg btn-dangerbs-example popover-demobs-example-popoversdata-containerdata-placementVivamus sagittis lacus vel augue laoreet rutrum faucibus.Vivamus
sagittis lacus vel augue laoreet rutrum faucibus.callout-popover-dismiss-clickhttps://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#tabindexdata-triggerDismissible popoverpopovers-usagepopovers-optionstable table-bordered table-striped js-options-table js-options-tablehttps://github.com/twbs/bootstrap/issues/4215http://jsbin.com/zopod/1/editcallout-popover-datapopovers-methods#popovers-optionspopovers-events/opt/src/docs/_includes/js/scrollspy.htmlscrollspyscrollspy-examplesembedded-scrollspynavbar-example2.bs-example-js-navbar-scrollspycollapse navbar-collapse bs-example-js-navbar-scrollspy#fat#mdonavbarDrop1#one#two#three#navbar-example2data-offsetscrollspy-exampletwothreescrollspy-usagecallout-scrollspy-needs-nav{{ site.baseurl }}/components/#navcallout-scrollspy-target-idscallout-scrollspy-invisible-targetshttp://api.jquery.com/visible-selector/#navbar-examplescrollspy-methodsscrollspy-optionsscrollspy-events/opt/src/docs/_includes/js/tabs.htmltabs-examplesbs-example bs-example-tabstogglable-tabsmyTabs#homehome-tab#profileprofile-tabmyTabDrop1myTabDrop1-contents#dropdown1dropdown1-tabdropdown1#dropdown2dropdown2-tabdropdown2myTabContenttab-contenttab-pane fade in activetab-pane fadecallout-tabs-extends-component{{ site.baseurl }}/components/#nav-tabstabs-usage{{ site.baseurl }}/components/#nav-pills<!-- Nav tabs --><!-- Tab panes -->#messagesmessages#settingstab-pane activetab-panetabs-methodstabs-events/opt/src/docs/_includes/js/tooltips.html<!-- HTML to write --><!-- Generated markup by the plugin -->tooltips-examplesbs-example tooltip-demotooltipDefault tooltipAnother tooltipAnother one here tooThe last tip!bs-example bs-example-tooltipstatic-tooltipstooltip lefttooltip-arrowtooltip-innertooltip toptooltip bottomtooltip rightbs-example-tooltipsTooltip on leftTooltip on topTooltip on bottomTooltip on rightcallout-tooltip-opt-intooltips-usageSome tooltip text!callout-tooltip-multilinecallout-tooltip-groupscallout-tooltip-hiddencallout-tooltip-accessibilitycallout-tooltip-disabledtooltips-optionscallout-tooltip-datatooltips-methods#tooltips-optionstooltips-events/opt/src/docs/_includes/js/transitions.htmltransitions/opt/src/docs/_includes/nav/about.htmlabout/opt/src/docs/_includes/nav#history#team#brand/opt/src/docs/_includes/nav/components.html#glyphicons#glyphicons-glyphs#glyphicons-how-to-use#glyphicons-examples#dropdowns#dropdowns-example#dropdowns-alignment#dropdowns-headers#dropdowns-divider#dropdowns-disabled#btn-groups#btn-groups-single#btn-groups-toolbar#btn-groups-sizing#btn-groups-nested#btn-groups-vertical#btn-dropdowns#btn-dropdowns-single#btn-dropdowns-split#btn-dropdowns-sizing#btn-dropdowns-dropup#input-groups#input-groups-basic#input-groups-sizing#input-groups-checkboxes-radios#input-groups-buttons#input-groups-buttons-dropdowns#input-groups-buttons-segmented#input-groups-buttons-multiple#nav#nav-tabs#nav-pills#nav-justified#nav-disabled-links#nav-dropdowns#navbar#navbar-default#navbar-brand-image#navbar-forms#navbar-buttons#navbar-text#navbar-links#navbar-component-alignment#navbar-fixed-top#navbar-fixed-bottom#navbar-static-top#navbar-inverted#breadcrumbs#pagination#pagination-default#labels#badges#jumbotron#page-header#thumbnails#thumbnails-default#thumbnails-custom-content#alerts-examples#alerts-dismissible#alerts-links#progress#progress-basic#progress-label#progress-alternatives#progress-striped#progress-animated#progress-stacked#media#media-default#media-list#list-group-basic#list-group-badges#list-group-linked#list-group-buttons#list-group-disabled#list-group-contextual-classes#list-group-custom-content#panels#panels-basic#panels-heading#panels-footer#panels-alternatives#panels-tables#panels-list-group#responsive-embed#wells/opt/src/docs/_includes/nav/css.html#overview#overview-doctype#overview-mobile#overview-type-links#overview-normalize#overview-container#grid#grid-intro#grid-media-queries#grid-options#grid-example-fluid#grid-example-mixed#grid-example-mixed-complete#grid-example-wrapping#grid-responsive-resets#grid-remove-gutters#grid-offsetting#grid-nesting#grid-column-ordering#type#type-headings#type-body-copy#type-inline-text#type-alignment#type-transformation#type-abbreviations#type-addresses#type-blockquotes#type-lists#code#code-inline#code-user-input#code-block#code-variables#code-sample-output#tables#tables-example#tables-striped#tables-bordered#tables-hover-rows#tables-condensed#tables-contextual-classes#tables-responsive#forms#forms-example#forms-inline#forms-horizontal#forms-controls#forms-controls-static#forms-control-focus#forms-control-disabled#forms-control-readonly#forms-control-validation#forms-control-sizes#buttons#buttons-tags#buttons-options#buttons-sizes#buttons-active#images#images-responsive#images-shapes#helper-classes#helper-classes-backgrounds#helper-classes-close#helper-classes-carets#helper-classes-center#helper-classes-clearfix#helper-classes-show-hide#helper-classes-screen-readers#helper-classes-image-replacement#responsive-utilities-classes#responsive-utilities-print#responsive-utilities-tests#less#less-bootstrap#less-variables#less-mixins-vendor#less-mixins-utility#sass#sass-contents#sass-installation/opt/src/docs/_includes/nav/customize.html<!-- NOTE: DO NOT EDIT THE FOLLOWING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.pug template.--><!-- NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-nav.pug template.-->#import-drop-target#plugins#colors#scaffolding#typography#iconography#components#media-queries-breakpoints#grid-system#container-sizes#navs#tabs#pills#pager#form-states-and-alerts#popovers#modals#progress-bars#carousel#close#download/opt/src/docs/_includes/nav/getting-started.html#whats-included#whats-included-precompiled#whats-included-source#grunt-installing#grunt-commands#grunt-troubleshooting#examples-framework#examples-navbars#examples-custom#examples-experiments#tools#tools-bootlint#community#migration#support#support-browsers#support-ie8-ie9#support-ie8-respondjs#support-ie8-box-sizing#support-ie8-font-face#support-ie-compatibility-modes#support-ie10-width#support-safari-percentages#support-fixed-position-keyboards#support-browser-zooming#support-sticky-hover-mobile#support-printing#support-android-stock-browser#support-validators#third-parties#accessibility#license-faqs#translations/opt/src/docs/_includes/nav/javascript.html#js-overview#js-individual-compiled#js-data-attrs#js-programmatic-api#js-noconflict#js-events#js-version-nums#js-disabled#callout-third-party-libs#modals-examples#modals-sizes#modals-remove-animation#modals-related-target#modals-usage#modals-options#modals-methods#modals-events#dropdowns-examples#dropdowns-usage#dropdowns-methods#dropdowns-events#scrollspy#scrollspy-examples#scrollspy-usage#scrollspy-methods#scrollspy-options#scrollspy-events#tabs-examples#tabs-usage#tabs-methods#tabs-events#tooltips-examples#tooltips-usage#tooltips-methods#tooltips-events#popovers-examples#popovers-usage#popovers-methods#popovers-events#alerts-usage#alerts-methods#alerts-events#buttons-stateful#buttons-single-toggle#buttons-checkbox-radio#collapse#collapse-example#collapse-example-accordion#collapse-usage#collapse-options#collapse-methods#collapse-events#carousel-examples#carousel-usage#carousel-options#carousel-methods#carousel-events#affix#affix-examples#affix-usage#affix-options#affix-methods#affix-events/opt/src/docs/_includes/nav/main.html'Navbar''Community links''Themes'ga('sen ... hemes')NavbarCommunity linksThemes'Jobs'ga('sen ... 'Jobs')Jobs'Expo'ga('sen ... Expo');ga('sen ... 'Expo')Expo'Blog'ga('sen ... Blog');ga('sen ... 'Blog')Blognavbar navbar-static-top bs-docs-nav#bs-navbarbs-navbar{{ site.baseurl }}/{{ site.baseurl }}/getting-started/{{ site.baseurl }}/css/{{ site.baseurl }}/components/{{ site.baseurl }}/javascript/{{ site.baseurl }}/customize/http://getbootstrap.com/docs/4.0/https://v4-alpha.getbootstrap.comhttps://getbootstrap.com/{{ site.current_version }}/https://getbootstrap.com/2.3.2/{{ site.themes }}ga('send', 'event', 'Navbar', 'Community links', 'Themes'){{ site.jobs }}ga('send', 'event', 'Navbar', 'Community links', 'Jobs'){{ site.expo }}ga('send', 'event', 'Navbar', 'Community links', 'Expo');{{ site.blog }}ga('send', 'event', 'Navbar', 'Community links', 'Blog');/opt/src/docs/_includes/nav/migration.htmlmigration#classes#new#dropped#notes/opt/src/docs/_includes/skippy.htmlskippyskiplink-text/opt/src/docs/_includes/v4.htmlv4http://getbootstrap.com/v4-tease/opt/src/docs/_layouts/default.html/opt/src/docs/_layouts_layoutsbs-docs-headercontainer bs-docs-containercol-md-{% if page.fullwidth == true %}12{% else %}9{% endif %}col-md-3complementarybs-docs-sidebar hidden-print hidden-xs hidden-smbs-docs-searchsearch-inputSearch...nav bs-docs-sidenavback-to-top#topbs-docs-theme-toggle/opt/src/docs/_layouts/home.htmlbs-docs-home/opt/src/docs/about.html<!-- History
================================================== --><!-- Team
================================================== --><!-- Brand
================================================== -->https://blog.twitter.com/2010/hack-weekhttps://blog.twitter.com/2011/bootstrap-twitterhttps://twitter.com/mdo/statuses/104620039650557952datetime2011-08-19 11:25https://github.com/twbs/bootstrap/releasesteamteam-corelist-group bs-teamgithub-btnhttps://ghbtns.com/github-btn.html?user={{ member.user }}&type=followteam-memberhttps://github.com/{{ member.user }}https://secure.gravatar.com/avatar/{{ member.gravatar }}.jpg?s=32@{{ member.user }} avatarhttps://github.com/twbs/bootstrap/issues/newhttps://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.mdteam-sasshttps://github.com/twbs/bootstrap-sass/blob/master/CONTRIBUTING.mdbrandhttp://mailchimp.com/about/brand-assets/bs-brand-logosbs-brand-itembs-docs-booticon bs-docs-booticon-lgbs-brand-item inversebs-docs-booticon bs-docs-booticon-lg bs-docs-booticon-inversesvg../assets/brand/bootstrap-solid.svgBootstrap144../assets/brand/bootstrap-outline.svg../assets/brand/bootstrap-punchout.svgbs-brandcolor-swatch bs-purplecolor-swatch bs-purple-lightcolor-swatch bs-purple-lightercolor-swatch bs-gray/opt/src/docs/assets/js/ie-emulation-modes-warning.jsie-emulation-modes-warning/opt/src/docs/assets/js/opt/src/docs/assets NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT// NOTI ... ASCRIPT IT'S JUST JUNK FOR OUR DOCS!// IT'S ... R DOCS! ++++++++++++++++++++++++++++++++++++++++++// ++++ ... +++++++!
 * Copyright 2014-2015 Twitter, Inc.
 *
 * Licensed under the Creative Commons Attribution 3.0 Unported License. For
 * details, see https://creativecommons.org/licenses/by/3.0/.
 /*!\n *  ... 0/.\n */ Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.// Inte ...  modes. Detects the actual version of IE in use, even if it's in an older-IE emulation mode.// Dete ... n mode. IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx// IE J ... 29.aspx @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx// @cc_ ... 29.aspx jshint ignore:line// jshi ... re:line IE11+ not in emulation mode// IE11 ... on mode IE8 (or lower; haven't tested on IE<8)// IE8  ... n IE<8) IE9 or IE10 in any mode, or IE11 in non-IE11 mode// IE9  ... 11 mode Opera, which might pretend to be IE// Oper ... o be IE Not IE// Not IEemulatedIEMajorVersiongroups/MSIE ([0-9.]+)/ieVersionNumieMajorVersionactualNonEmulatedIEMajorVersionjscriptVersion'/*@cc_on return @_jscript_version; @*/'<ua'Opera''Presto'emulatednonEmulated'WARNING: You appear to be using IE'' in IE'' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!'(functi ... }\n})();(functi ...  }\n})()(functi ... \n  }\n}){\n  'us ... )\n  }\n}functio ... ion\n  }emulate ... Version{\n    v ... ion\n  }var gro ... rAgent)groups  ... rAgent)/MSIE ( ... rAgent)/MSIE ( ... )/.execMSIE ([0-9.]+)MSIE ([0-9.]+)[0-9.]+[0-9.]0-9window. ... erAgentwindow.navigatorif (gro ... l\n    }groups === null{\n      ... l\n    }return nullvar ieV ... 1], 10)ieVersi ... 1], 10)parseIn ... 1], 10)groups[1]var ieM ... ionNum)ieMajor ... ionNum)Math.fl ... ionNum)return  ... Versionfunctio ... ode\n  }actualN ... Version{\n    / ... ode\n  }var jsc ... @*/')()jscript ... @*/')()new Fun ... @*/')()new Fun ... ; @*/')'/*@cc_ ... n; @*/'/*@cc_on return @_jscript_version; @*/@cc_on return @_jscript_version; @*@if (jsc ... e\n    }jscript ... defined{\n      ... e\n    }return 11if (jsc ... )\n    }jscriptVersion < 9{\n      ... )\n    }return 8var ua  ... erAgentua = wi ... erAgentif (ua. ...  IE\n  }ua.inde ... ') > -1ua.indexOf('Opera')ua.indexOfOperaua.indexOf('Presto')Presto{\n    r ...  IE\n  }var emu ... rsion()emulate ... rsion()if (emu ...  IE\n  }emulated === nullvar non ... rsion()nonEmul ... rsion()actualN ... rsion()if (emu ... !')\n  }emulate ... mulated{\n    w ... !')\n  }window. ... odes!')window.alert'WARNIN ... modes!''WARNIN ... mulated'WARNIN ...  in IE''WARNIN ... ing IE'WARNING: You appear to be using IE in IE' emula ... modes!' emulation mode.
IE emulation modes can behave significantly differently from ACTUAL older versions of IE.
PLEASE DON'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes! emulation mode
IE emulation modes can behave significantly differently from ACTUAL older versions of IE
PLEASE DON'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!/opt/src/docs/assets/js/ie10-viewport-bug-workaround.jsie10-viewport-bug-workaround!
 * IE10 viewport hack for Surface/desktop Windows 8 bug
 * Copyright 2014-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  See the Getting Started docs for more information:// See  ... mation: http://getbootstrap.com/getting-started/#support-ie10-width// http ... 0-width/IEMobile\/10\.0/msViewportStyle'style''@-ms-viewport{width:auto!important}''head'(functi ... \n\n})();(functi ... }\n\n})()(functi ...   }\n\n})functio ... \n  }\n\n}{\n  'us ... \n  }\n\n}if (nav ... le)\n  }navigat ... 10\.0/)navigat ... t.matchIEMobile\/10\.0IEMobile\/\.{\n    v ... le)\n  }var msV ... style')msViewp ... style')documen ... style')msViewp ... )\n    )msViewp ... ndChilddocumen ...       )documen ... extNode'@-ms-v ... rtant}'@-ms-viewport{width:auto!important}documen ... tStyle)documen ... ndChilddocumen ... 'head')documen ... elector/opt/src/docs/assets/js/ie8-responsive-file-warning.jsie8-responsive-file-warning!
 * Copyright 2011-2015 Twitter, Inc.
 *
 * Licensed under the Creative Commons Attribution 3.0 Unported License. For
 * details, see https://creativecommons.org/licenses/by/3.0/.
  Intended to prevent false-positive bug reports about responsive styling supposedly not working in IE8.// Inte ... in IE8.=='file:''ERROR: Bootstrap\'s responsive CSS is disabled!\nSee getbootstrap.com/getting-started/#respond-file-proto for details.'if (win ... ls.')\n}window. ... 'file:'window. ... rotocolwindow.locationfile:{\n  win ... ls.')\n}window. ... ails.')'ERROR: ... tails.'ERROR: Bootstrap's responsive CSS is disabled!
See getbootstrap.com/getting-started/#respond-file-proto for details.ERROR: Bootstrap's responsive CSS is disabled!
See getbootstrapcom/getting-started/#respond-file-proto for details/opt/src/docs/assets/js/src/application.jsapplication/opt/src/docs/assets/js/src IT'S ALL JUST JUNK FOR OUR DOCS!!
 * JavaScript for Bootstrap's docs (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under the Creative Commons Attribution 3.0 Unported License. For
 * details, see https://creativecommons.org/licenses/by/3.0/.
  global ZeroClipboard, anchors /* glob ... hors */ Scrollspy// Scrollspy Kill links// Kill links Sidenav affixing// Sidenav affixing Theme toggler// Theme toggler Tooltip and popover demos// Tool ... r demos Demos within modals// Demo ...  modals Popover demos// Popover demos Button state demo// Button state demo Modal relatedTarget demo// Moda ... et demo Button that triggered the modal// Butt ... e modal Extract info from data-* attributes// Extr ... ributes If necessary, you could initiate an AJAX request here (and then do the updating in a callback).// If n ... lback). Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.// Upda ... nstead. Activate animated progress bar// Acti ... ess bar Config ZeroClipboard// Conf ... ipboard Insert copy to clipboard button before .highlight// Inse ... ghlight Handlers for ZeroClipboard// Hand ... ipboard Copy to clipboard// Copy to clipboard Notify copy success and reset tooltip title// Noti ... p title Hide copy button when no Flash is found// Hide ... s found or wrong Flash version is present// or w ... present$window$body'.bs-docs-sidebar''load''refresh''.bs-docs-container [href="#"]'$sideBarsideBarMargin'margin-top'navOuterHeight'.bs-docs-nav''.bs-docs-footer''.bs-top'$stylesheetLink'#bs-theme-stylesheet'$themeBtn'.bs-docs-theme-toggle'activateTheme'href''data-href''Disable theme preview''previewTheme''data'else'Preview theme''.tooltip-demo''[data-toggle="tooltip"]''body''.popover-demo''[data-toggle="popover"]''.tooltip-test''.popover-test''.bs-docs-popover''#loading-example-btn''#exampleModal''show.bs.modal'$buttonrecipient'whatever'$modal'.modal-title''New message to ''.modal-body input''.bs-docs-activate-animated-progressbar''.progress''.progress-bar-striped''active'ZeroClipboardmoviePath'/assets/flash/ZeroClipboard.swf'hoverClass'btn-clipboard-hover''.highlight'btnHtml'<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>'zeroClipboard'.btn-clipboard'$htmlBridge'#global-zeroclipboard-html-bridge''placement''top''title''Copy to clipboard''dataRequested'highlightsetText'Copied!''fixTitle''show''noflash wrongflash''.zero-clipboard'placement'left''.bs-docs-section > h1, .bs-docs-section > h2, .bs-docs-section > h3, .bs-docs-section > h4, .bs-docs-section > h5'!functi ... ery)\n\n;!functi ... jQuery)functio ... jQuery)functio ...   })\n\n}{\n  'us ...   })\n\n}$(funct ... )\n\n  })functio ... })\n\n  }{\n\n     ... })\n\n  }var $wi ... window)$window = $(window)$(window)var $bo ... t.body)$body   ... t.body)$(document.body)document.body$body.s ... \n    })$body.scrollspytarget: ... idebar'.bs-docs-sidebarbs-docs-sidebar$window ... \n    })$window.onfunctio ... )\n    }$body.s ... fresh')$('.bs- ... \n    })$('.bs- ... ).click$('.bs- ... ="#"]')'.bs-do ... f="#"]'.bs-docs-container [href="#"]bs-docs-container [href="#"]"e.preventDefault()e.preventDefaultsetTime ... }, 100)var $si ... debar')$sideBa ... debar')$('.bs- ... debar')$sideBa ...      })$sideBar.affixoffset: ...       }top: fu ...       }var off ... t().topoffsetT ... t().top$sideBa ... t().top$sideBar.offset()$sideBar.offsetvar sid ... '), 10)sideBar ... '), 10)parseIn ... '), 10)$sideBa ... n-top')$sideBa ... (0).css$sideBar.children(0)$sideBar.childrenmargin-topvar nav ... eight()navOute ... eight()$('.bs- ... eight()$('.bs- ... .height$('.bs-docs-nav').bs-docs-navbs-docs-navreturn  ... Margin)(this.t ... Margin)this.to ... rMarginthis.topoffsetT ... rMarginoffsetT ... rHeightbottom: ...       }return  ... (true))(this.b ... (true))this.bo ... t(true)this.bottom$('.bs- ... t(true)$('.bs- ... rHeight$('.bs-docs-footer').bs-docs-footersetTime ... r\n    ;$('.bs-top').affix()$('.bs-top').affix$('.bs-top').bs-topbs-top(functi ...    })()(functi ... \n    })var $st ... sheet')$styles ... sheet')$('#bs- ... sheet')'#bs-th ... esheet'#bs-theme-stylesheetvar $th ... oggle')$themeB ... oggle')$('.bs- ... oggle')'.bs-do ... toggle'.bs-docs-theme-togglevar act ...       }activat ...       }$styles ... href'))$stylesheetLink.attr$styles ... -href')$themeB ... eview')$themeBtn.text'Disabl ... review'Disable theme previewlocalSt ... , true)localStorage.setItempreviewThemeif (loc ...       }localSt ... Theme')localStorage.getItemactivateTheme()$themeB ...      })$themeBtn.clickvar hre ... 'href')href =  ... 'href')$styles ... 'href')if (!hr ...       }!href | ... ) === 0!hrefhref.in ... ) === 0href.indexOf('data')href.indexOf$styles ... f', '')$themeB ... theme')Preview themelocalSt ... oveItem$('.too ... \n    })$('.too ... tooltip$('.tooltip-demo').tooltip-demotooltip-demoselecto ... ltip"]''[data- ... ltip"]'[data-toggle="tooltip"]a-tcontainer: 'body'$('.pop ... \n    })$('.pop ... popover$('.popover-demo').popover-demopopover-demoselecto ... over"]''[data- ... over"]'[data-toggle="popover"]v$('.too ... oltip()$('.tooltip-test').tooltip-test$('.pop ... pover()$('.popover-test').popover-testpopover-test$('.bs- ... pover()$('.bs- ... popover$('.bs- ... pover').bs-docs-popoverbs-docs-popover$('#loa ... \n    })$('#loa ... tn').on$('#loa ... e-btn')'#loadi ... le-btn'#loading-example-btnvar $btn = $(this)$btn = $(this)$btn.bu ... ading')setTime ... , 3000)$('#exa ... \n    })$('#exa ... al').on$('#exampleModal')show.bs.modalbsvar $bu ... Target)$button ... Target)$(event ... Target)event.relatedTargetvar rec ... tever')recipie ... tever')$button ... tever')$button.datawhatevervar $modal = $(this)$modal = $(this)$modal. ... ipient)$modal. ... ').text$modal. ... title')$modal.find.modal-title'New me ... cipientNew message to $modal. ... t').val$modal. ... input').modal-body inputmodal-body input$('.bs- ... ar').on$('.bs- ... ssbar')'.bs-do ... essbar'.bs-docs-activate-animated-progressbarbs-docs-activate-animated-progressbar$(this) ... ctive')$(this) ... leClass$(this) ... riped')$(this) ... ').find$(this) ... gress')$(this).siblings.progress'.progr ... triped'.progress-bar-stripedprogress-bar-stripedZeroCli ... \n    })ZeroClipboard.configmoviePa ... rd.swf''/asset ... rd.swf'/assets/flash/ZeroClipboard.swf/assets/flash/ZeroClipboardswfhoverCl ... -hover''btn-cl ... -hover'btn-clipboard-hover$('.hig ... \n    })$('.highlight').each$('.highlight').highlightvar btn ... </div>'btnHtml ... </div>''<div c ... </div>'<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>$(this) ... tnHtml)$(this).beforevar zer ... oard'))zeroCli ... oard'))new Zer ... oard'))$('.btn-clipboard').btn-clipboardbtn-clipboardvar $ht ... ridge')$htmlBr ... ridge')$('#glo ... ridge')'#globa ... bridge'#global-zeroclipboard-html-bridgezeroCli ... \n    })zeroClipboard.on$htmlBr ... oltip()$htmlBr ... tooltip$htmlBr ... board')$htmlBr ...   .attr$htmlBr ...  'top')$htmlBr ...   .dataCopy to clipboardzeroCli ...      })dataRequestedvar hig ... first()highlig ... first()$(this) ... first()$(this) ... ).first$(this) ... light')$(this) ... nextAll$(this).parent()$(this).parentclient. ... text())client.setTexthighlight.text()highlight.text$htmlBr ... Title')$htmlBr ... 'show')$htmlBr ... pied!')Copied!fixTitlenoflash wrongflash$('.zer ... emove()$('.zer ... .remove$('.zero-clipboard').zero-clipboardzero-clipboardZeroCli ... stroy()ZeroCli ... destroy(functi ... )\n})();(functi ... ')\n})()(functi ... h5')\n})functio ...  h5')\n}{\n  'us ...  h5')\n}anchors ... 'left';anchors ...  'left'anchors ... acementanchors.optionsanchors ...  > h5')anchors.add'.bs-do ... n > h5'.bs-docs-section > h1, .bs-docs-section > h2, .bs-docs-section > h3, .bs-docs-section > h4, .bs-docs-section > h5bs-docs-section > h1, bs-docs-section > h2, bs-docs-section > h3, bs-docs-section > h4, bs-docs-section > h5/opt/src/docs/assets/js/src/customizer.jscustomizer!
 * Bootstrap Customizer (http://getbootstrap.com/customize/)
 * Copyright 2011-2016 Twitter, Inc.
 *
 * Licensed under the Creative Commons Attribution 3.0 Unported License. For
 * details, see https://creativecommons.org/licenses/by/3.0/.
  global JSON, JSZip, less, autoprefixer, saveAs, UglifyJS, __configBridge, __js, __less, __fonts /* glob ... onts */ wait for load in a dumb way because B-0// wait ... use B-0 escape RegEx meta chars// esca ... a chars deliberately ignore the error// deli ... e error Returns an Array of @import'd filenames in the order// Retu ... e order in which they appear in the file.// in w ... e file. Files not explicitly unchecked are compiled into the final stylesheet.// File ... esheet. Core stylesheets like 'normalize.less' are not included in the form// Core ... he form since disabling them would wreck everything, and so their 'fileInclude'// sinc ... nclude' will be 'undefined'.// will ... fined'. Custom variables are added after Bootstrap variables so the custom// Cust ...  custom ones take precedence.// ones ... edence. strip any imports// strip any importscw' * Bootstrap v3.4.0 (http://getbootstrap.com)\n'' * Copyright 2011-'' Twitter, Inc.\n'' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n'' */\n\n'supportsFile$importDropTarget'#import-drop-target'showError'<div id="bsCustomizerAlert" class="bs-customizer-alert">''<div class="container">''<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>''<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span><span class="sr-only">Warning:</span>''</p>''<p></p>''Error: 'extract'<pre class="bs-customizer-alert-extract"></pre>''</div>'showSuccess'<div class="bs-callout bs-callout-info">''<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>''.bs-customize-download'showCalloutshowUpTop$callout'<div class="bs-callout bs-callout-danger">''<h4>Attention!</h4>''<p>''.bs-docs-container'showAlert'<div class="alert alert-''">''<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>'getQueryParam/[*+?^$.\[\]{}()|\\\/]/g'[?&]''=([^&]+)(&|$)'/\+/g' 'createGistconfigJson'Bootstrap Customizer Config''public''config.json''https://api.github.com/gists''POST''application/json; charset=UTF-8''json'gistUrlhtml_url'//'customizerUrl'?id=''<strong>Success!</strong> Your configuration has been saved to <a href="''</a> ''and can be revisited here at <a href="''</a> for further customization.'try'<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.'sameErr'<none>'getCustomizerDatavars'#less-variables-section input''#less-section input:checked''#plugin-section input:checked'updateCustomizerFromJson'#plugin-section input''checked'~'#less-section input'in'input[data-var="''"]'parseUrl'id''https://api.github.com/gists/''GET''Error fetching bootstrap config file'generateZip'<strong>Ruh roh!</strong> No Bootstrap files selected.''no Bootstrap'JSZipcssFolderfolder'css'jsFolder'js'jsFileNamefontsFolder'fonts'fontsFileNamebase64generate'blob'generateCustomLess+=': '';\n''\n\n'generateFonts$glyphicons'#less-section [value="glyphicons.less"]:checked'__fontsincludedLessFilenameslessFilenameIMPORT_REGEX/^@import \"(.*?)\";$/lessLines__lesslessLineimporteetransitiveImportstransitiveImporteegenerateLESSlessFileIncludeslessSourcelessFilenamesfileInclude'variables.less'/@import[^\n]*/gicompileLESSbaseFilenameintoResultParser'mixins.less'optimization'.css'parseErrtreetoCSS'.min.css'compileErrgenerateCSSpreambleoneChecked$this':checked'bsLessSource'bootstrap.less'themeLessSource'theme.less'prefixer__configBridge'bootstrap''bootstrap-theme''<strong>Ruh roh!</strong> Problem parsing or compiling Less files.'astUglifyJSfigure_out_scopecompressorCompressorcompressedAstcompute_char_frequencymangle_namesOutputStreamgenerateJS$checked__js'bootstrap.js''bootstrap.min.js'removeImportAlerts'.alert'handleConfigFileSelect'dataTransfer'reader'JSON data from config file is not an object.''success''<strong>Woohoo!</strong> Your configuration was successfully uploaded. Tweak your settings, then hit Download.''danger''<strong>Shucks.</strong> We can only read valid <code>.json</code> files. Please try again.''utf-8'handleConfigDragOver'dragover''drop''#import-file-select''change''#import-manual-trigger'$inputsComponent$inputsPlugin$inputsVariables'#less-section .toggle''#plugin-section .toggle''#less-variables-section .toggle''[data-dependencies]'dependencies'data-dependencies'','++$dependency'[value="''[data-dependents]'dependents'data-dependents'$dependent$compileBtn'#btn-compile'configData'disabled'' * Generated using the Bootstrap Customizer ('')\n'' * Config saved to config.json and 'saveAs'bootstrap.zip'window. ... Url()\n}window.onloadfunctio ... Url()\n}{ // wa ... Url()\n}var cw  ... */\n\n'cw = '/ ... */\n\n''/*!\n' ... */\n\n''/*!\n' ... NSE)\n''/*!\n' ... Inc.\n''/*!\n' ... lYear()'/*!\n' ...  2011-''/*!\n' ... com)\n'' * Boo ... com)\n' * Bootstrap v3.4.0 (http://getbootstrap.com)
 Bootstrap v30 (http://getbootstrap.com)http://getbootstrap * Copyright 2011- Copyright 2011-new Dat ... lYear()new Dat ... ullYear Twitter, Inc.
 Twitter, Inc' * Lic ... NSE)\n' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)https://githubcom/twbs/bootstrap/blob/master/LICENSE */

/

var sup ... ow.Blobsupport ... ow.Blobwindow. ... ow.Blobwindow. ... ileListwindow. ... eReaderwindow.Filewindow.FileReaderwindow.FileListwindow.Blobvar $im ... arget')$import ... arget')$('#imp ... arget')'#impor ... target'functio ... err\n  }{\n    $ ... err\n  }$('<div ... alert()$('<div ... ).alert$('<div ... 'body')$('<div ... ppendTo$('<div ... /div>')'<div i ... </div>''<div i ... L : '')'<div i ...  '</p>''<div i ... ' + msg'<div i ... /span>''<div i ... n></a>''<div i ... iner">''<div i ... lert">'<div id="bsCustomizerAlert" class="bs-customizer-alert">'<div c ... iner">'<div class="container">'<a hre ... n></a>'<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>'<p cla ... /span>'<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span><span class="sr-only">Warning:</span></p>(err.me ... L : '')err.mes ... ML : ''err.message$('<p>< ... terHTML$('<p>< ... age)[0]$('<p>< ... essage)$('<p></p>').text$('<p></p>')<p></p>'Error: ... messageError: (err.ex ... L : '')err.ext ... ML : ''err.extract$('<pre ... terHTML$('<pre ... n'))[0]$('<pre ... ('\n'))$('<pre ... ').text$('<pre ... /pre>')'<pre c ... </pre>'<pre class="bs-customizer-alert-extract"></pre>err.ext ... n('\n')err.extract.join</div>throw errfunctio ... d')\n  }{\n    $ ... d')\n  }$('<div ... nload')$('<div ... rtAfter'<div c ... ' + msg'<div c ... utton>''<div c ... info">'<div class="bs-callout bs-callout-info">'<butto ... utton>'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>'.bs-cu ... wnload'.bs-customize-downloadbs-customize-downloadfunctio ...   }\n  }{\n    v ...   }\n  }var $ca ... /div>')$callou ... /div>')'<div c ...  '</p>''<div c ...   '<p>''<div c ... !</h4>''<div c ... nger">'<div class="bs-callout bs-callout-danger">'<h4>At ... !</h4>'<h4>Attention!</h4><p>if (sho ... )\n    }$callou ... ainer')$callout.appendTo.bs-docs-containerbs-docs-container$callou ... nload')$callout.insertAfterfunctio ... er)\n  }{\n    $ ... er)\n  }$('<div ... tAfter)'<div c ...  + '">''<div c ...  + type'<div c ... alert-'<div class="alert alert-">'<butto ... </div>'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>functio ... '))\n  }{\n    k ... '))\n  }key = k ... '\\$&')key.rep ... '\\$&')key.replace/[*+?^$ ... \\\/]/g[*+?^$.\[\]{}()|\\\/]\[var mat ... &|$)'))match = ... &|$)'))locatio ... &|$)'))locatio ... h.matchlocation.searchnew Reg ... (&|$)')'[?&]'  ... )(&|$)''[?&]' + key[?&]=([^&]+)(&|$)([^&]+)[^&]+[^&](&|$)&|$return  ... , ' '))match & ... , ' '))decodeU ... , ' '))match[1 ... g, ' ')match[1].replacematch[1]\+functio ...  })\n  }{\n    v ...  })\n  }var dat ... }\n    }data =  ... }\n    }descrip ... Config''Bootst ... Config'Bootstrap Customizer Config'public': truepublicfiles:  ...       }'config ...       }config.jsoncontent: configJson$.ajax( ... \n    })$.ajax( ...  .error$.ajax( ... success$.ajaxurl: 'h ... /gists''https: ... /gists'https://api.github.com/gistshttps://apicom/giststype: 'POST'POSTcontent ... =UTF-8''applic ... =UTF-8'application/json; charset=UTF-8dataType: 'json'data: J ... y(data)JSON.stringify(data)var gis ... ml_url;gistUrl ... tml_urlresult.html_urlvar ori ... on.hostorigin  ... on.hostwindow. ... on.hostwindow. ...  + '//'//window.location.hostvar cus ... sult.idcustomi ... sult.idorigin  ... sult.idorigin  ...  '?id='origin  ... athnamewindow. ... athname?id=result.idshowSuc ... tion.')'<stron ... ation.''<stron ... izerUrl'<stron ...  + '">''<stron ... href="''<stron ... '</a> ''<stron ... gistUrl<strong>Success!</strong> Your configuration has been saved to <a href="</a> 'and ca ... href="'and can be revisited here at <a href="'</a> f ... ation.'</a> for further customization.</a> for further customizationhistory ... zerUrl)history.replaceStatedocument.titlecallbac ... zerUrl)try {\n  ...       }showErr ... ', err)'<stron ... saved.'<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.<strong>Ruh roh!</strong> Could not save gist file, configuration not savedcatch ( ...       }callbac ... none>')<none>functio ... ata\n  }{\n    v ... ata\n  }var vars = {}vars = {}$('#les ...      })$('#les ...   .each$('#les ... input')'#less- ...  input'#less-variables-section input$(this) ... .val())$(this).val()$(this).val(vars[$ ... .val())vars[$( ... ).val()vars[$( ... text()]$(this) ... .text()$(this).prev().text$(this).prev()$(this).prevvar dat ... )\n    }data =  ... )\n    }vars: varscss: $( ... Array()$('#les ... Array()$('#les ... toArray$('#les ... alue })$('#les ... )  .map$('#les ... ecked')'#less- ... hecked'#less-section input:checkedfunctio ... value }{ retur ... value }return this.valuethis.valuejs:  $( ... Array()$('#plu ... Array()$('#plu ... toArray$('#plu ... alue })$('#plu ... d').map$('#plu ... ecked')'#plugi ... hecked'#plugin-section input:checkedif ($.i ... rn null$.isEmp ... .length$.isEmp ... a.vars)$.isEmptyObjectdata.vars!data.css.lengthdata.css.lengthdata.css!data.js.lengthdata.js.lengthdata.jsreturn dataupdateC ... romJson{\n    i ...   }\n  }if (dat ... )\n    }$('#plu ...      })$('#plu ... ').each$('#plu ... input')'#plugi ...  input'#plugin-section input$(this) ... ta.js))$(this).prop~$.inAr ... ata.js)$.inArr ... ata.js)$.inArray$('#les ... ').each#less-section input$(this) ... a.css))~$.inAr ... ta.css)$.inArr ... ta.css)if (dat ... }\n    }for (va ...       }var i$('inpu ... ars[i])$('inpu ... ]').val$('inpu ... + '"]')'input[ ...  + '"]''input[ ... ="' + iinput[data-var=""]data.vars[i]var id  ... m('id')id = ge ... m('id')getQueryParam('id')if (!id) return!idurl: 'h ... /' + id'https: ... /' + id'https: ... gists/'https://api.github.com/gists/com/gists/type: 'GET'GETvar dat ... ontent)data =  ... ontent)JSON.pa ... ontent)result. ... contentresult. ... .json']result.filesupdateC ... n(data)'Error  ... g file'Error fetching bootstrap config filefunctio ... nt)\n  }{\n    i ... nt)\n  }if (!cs ... trap'))!css && !js!css!jsreturn  ... trap'))showErr ... trap'))'<stron ... ected.'<strong>Ruh roh!</strong> No Bootstrap files selected.<strong>Ruh roh!</strong> No Bootstrap files selectednew Err ... strap')no Bootstrapvar zip ... JSZip()zip = new JSZip()new JSZip()if (css ... }\n    }var css ... ('css')cssFold ... ('css')zip.folder('css')zip.foldervar fileNamecssFold ... eName])cssFolder.filecss[fileName]if (js) ... }\n    }var jsF ... r('js')jsFolde ... r('js')zip.folder('js')var jsFileNamejsFolde ... eName])jsFolder.filejs[jsFileName]if (fon ... }\n    }var fon ... fonts')fontsFo ... fonts')zip.folder('fonts')var fontsFileNamefontsFo ... true })fontsFolder.filefonts[fontsFileName]{ base64: true }base64: trueif (con ... )\n    }zip.fil ... config)zip.filevar con ... lob' })content ... lob' })zip.gen ... lob' })zip.generate{ type: 'blob' }type: 'blob'complete(content)functio ... \n'\n  }{\n    v ... \n'\n  }var result = ''result = ''for (va ... '\n    }var keyresult  ... + ';\n'key + ' ... + ';\n'key + ' ... rs[key]key + ': ': vars[key];
return  ...  '\n\n'result + '\n\n'

var $gl ... ecked')$glyphi ... ecked')#less-section [value="glyphicons.less"]:checked#less-section [value="glyphicons.less"]c:checkedif ($gl ... s\n    }$glyphicons.length{\n      ... s\n    }return __fontsfunctio ... rts\n  }include ... lenames{\n    v ... rts\n  }var IMP ... ?)\";$/IMPORT_ ... ?)\";$//^@impo ... ?)\";$/^@import \"(.*?)\";$@import \"(.*?).*?var les ... t('\n')lessLin ... t('\n')__less[ ... t('\n')__less[ ... ].split__less[lessFilename]var imports = []imports = []$.each( ... \n    })$.eachfunctio ... }\n    }var mat ... ssLine)match = ... ssLine)IMPORT_ ... ssLine)IMPORT_REGEX.execif (mat ...       }var imp ... atch[1]importee = match[1]var tra ... portee)transit ... portee)include ... portee)$.each( ...      })if ($.i ...       }$.inArr ...  === -1$.inArr ... mports)imports ... portee)imports.pushreturn importsfunctio ... rce\n  }{\n    v ... rce\n  }var les ... lename]lessSou ... lename]var les ... lename)lessFil ... lename)include ... lename)var fil ... lename]fileInc ... lename]lessFil ... lename]if (fil ... lename]fileInc ... == nullfileInclude == null__less[filename]if (fil ... s(vars)filenam ... && varsfilenam ... s.less'variables.lesslessSou ... s(vars)generat ... s(vars)lessSou ... gi, '')lessSource.replace@import[^\n]*@import[^\n]*[^\n]\nreturn lessSourcefunctio ... e()\n  }{\n    v ... e()\n  }var pro ... erred()promise ... erred()$.Deferred()$.Deferredvar par ... \n    })parser  ... \n    })new les ... \n    })less.Parserpaths:  ... .less']['varia ... .less']mixins.lessmixinsoptimization: 0filenam ...  '.css'baseFil ...  '.css'.cssparser. ... \n    })parser.parseif (par ...       }return  ... rseErr)promise ... rseErr)promise.rejectintoRes ... toCSS()intoRes ... '.css']cw + tree.toCSS()tree.toCSS()tree.toCSSintoRes ... true })intoRes ... n.css']baseFil ... in.css'.min.csscw + tr ... true })tree.to ... true }){ compress: true }compress: truereturn  ... ileErr)promise ... ileErr)promise.resolve()promise.resolvereturn  ... omise()promise.promise()promise.promisevar one ... = falseoneChecked = falsevar les ... es = {}lessFil ... es = {}$('#les ... \n    })functio ... d\n    }{\n      ... d\n    }var $this = $(this)$this = $(this)var che ... ecked')checked ... ecked')$this.is(':checked')$this.islessFil ... checkedlessFil ... .val()]$this.val()$this.valoneChec ... checkedif (!on ... n false!oneCheckedreturn falsevar result = {}result = {}var bsL ... , vars)bsLessS ... , vars)preambl ... , vars)generat ... , vars)bootstrap.lessvar the ... , vars)themeLe ... , vars)theme.lessvar pre ... sers })prefixe ... sers })autopre ... sers }){ brows ... wsers }__confi ... rowsers$.when( ... \n    })$.when( ... }).fail$.when( ...  ).done$.when( ... )\n    )$.whencompile ... result)bootstrap-themeresult[ ... y]).cssresult[key]prefixe ... y]).cssprefixe ... t[key])prefixer.processpromise ... result)'<stron ... files.'<strong>Ruh roh!</strong> Problem parsing or compiling Less files.<strong>Ruh roh!</strong> Problem parsing or compiling Less filespromise.reject()functio ... g()\n  }{\n    v ... g()\n  }var ast ... rse(js)ast = U ... rse(js)UglifyJS.parse(js)UglifyJS.parseast.fig ... scope()ast.figure_out_scopevar com ... essor()compres ... essor()UglifyJ ... essor()UglifyJS.Compressorvar com ... ressor)compres ... ressor)ast.tra ... ressor)ast.transformcompres ... scope()compres ... t_scopecompres ... uency()compres ... equencycompute ... equencycompres ... names()compres ... e_namesvar str ... tream()stream  ... tream()UglifyJ ... tream()UglifyJ ... tStreamcompres ... stream)compressedAst.printreturn  ... tring()stream.toString()stream.toStringvar $ch ... ecked')$checke ... ecked')var jqu ... n('\n')__confi ... n('\n')__confi ... ck.join__confi ... ryCheck__confi ... onCheckif (!$c ... n false!$checked.length$checked.lengthvar js  ... n('\n')js = $c ... n('\n')$checke ... n('\n')$checke ...   .join$checke ... Array()$checke ... toArray$checke ... lue] })$checked\n      .mapfunctio ... alue] }{ retur ... alue] }return  ... .value]__js[this.value]preambl ... reamblecw + preamblejs = jq ... ck + jsjqueryC ... ck + jsjqueryC ... onCheckreturn  ... )\n    }'bootst ... le + jsbootstrap.jspreamble + js'bootst ... ify(js)bootstrap.min.jspreambl ... ify(js)uglify(js){\n    $ ... e()\n  }$import ... emove()$import ... .remove$import ... alert')$import ... nextAll.alertfunctio ... 8')\n  }handleC ... eSelect{\n    e ... 8')\n  }e.stopPropagation()e.stopPropagationvar fil ... iles[0]file =  ... iles[0]e.origi ... iles[0]e.origi ... nsfer')e.origi ... ropertye.originalEvente.origi ... r.filese.origi ... ransfere.origi ... t.filese.origi ... .targetvar rea ... eader()reader  ... eader()new FileReader()reader. ... }\n    }reader.onloadvar tex ... .resulttext =  ... .resulte.target.resulte.targetvar jso ... e(text)json =  ... e(text)JSON.parse(text)if (!$. ...       }!$.isPl ... t(json)$.isPla ... t(json)$.isPlainObjectthrow n ... ject.')new Err ... ject.')'JSON d ... bject.'JSON data from config file is not an object.JSON data from config file is not an objectupdateC ... n(json)showAle ... Target)'<stron ... nload.'<strong>Woohoo!</strong> Your configuration was successfully uploaded. Tweak your settings, then hit Download.<strong>Woohoo!</strong> Your configuration was successfully uploaded Tweak your settings, then hit Downloadreturn  ... Target)'<stron ... again.'<strong>Shucks.</strong> We can only read valid <code>.json</code> files. Please try again.<strong>Shucks</strong> We can only read valid <code>json</code> files Please try againreader. ... utf-8')reader.readAsTextfunctio ... s()\n  }{\n    e ... s()\n  }e.origi ...  'copy'e.origi ... pEffectremoveImportAlerts()if (sup ... ct)\n  }{\n    $ ... ct)\n  }$import ... Select)$import ...     .on$import ... agOver)dragoverdrop$('#imp ... Select)$('#imp ... ct').on$('#imp ... elect')'#impor ... select'#import-file-select$('#imp ... Alerts)$('#imp ... er').on$('#imp ... igger')'#impor ... rigger'#import-manual-triggervar $in ... input')$inputs ... input')$('#les ... ))\n  })$('#les ... le').on$('#les ... oggle')'#less- ... toggle'#less-section .toggle{\n    e ... '))\n  }$inputs ... cked'))$inputs ... nt.prop!$input ... ecked')$inputs ... ecked')$inputsComponent.is$('#plu ... ))\n  })$('#plu ... le').on$('#plu ... oggle')'#plugi ... toggle'#plugin-section .toggle#plugin-section $inputsPlugin.prop$inputsPlugin.is$('#les ... ')\n  })#less-variables-section .toggle#less-variables-section functio ... '')\n  }{\n    e ... '')\n  }$inputs ... val('')$inputsVariables.val$('[dat ...  }\n  })$('[dat ... s]').on$('[dat ... cies]')'[data- ... ncies]'[data-dependencies]a-dif (!$( ...  return!$(this ... ecked')$(this) ... ecked')$(this).isvar dep ... ncies')depende ... ncies')this.ge ... ncies')this.getAttributedata-dependenciesif (!de ...  return!dependenciesdepende ... it(',')dependencies.splitfor (va ... )\n    }i < dep ... .lengthdependencies.lengthi++var i = 0i = 0var $de ... + '"]')$depend ... + '"]')$('[val ... + '"]')'[value ...  + '"]''[value ... cies[i][value="dependencies[i]$depend ... , true)$dependency.prop$('[dat ... ents]')[data-dependents]if ($(t ...  returnvar dep ... dents')depende ... dents')this.ge ... dents')data-dependents!dependentsdependents.splitdependents.length'[value ... ents[i]dependents[i]$depend ...  false)$dependent.propvar $co ... mpile')$compil ... mpile')$('#btn-compile')#btn-compile$compil ... )\n  });$compil ... })\n  })$compileBtn.onvar con ... rData()configD ... rData()getCustomizerData()var con ... ull, 2)configJ ... ull, 2)JSON.st ... ull, 2)$compil ... abled')$compileBtn.attrcreateG ... \n    })configD ... izerUrlvar pre ... ' */\n'preambl ... ' */\n''/*!\n' ...  + '\n''/*!\n' ... gistUrl'/*!\n' ... n and ''/*!\n' ... + ')\n''/*!\n' ... izerUrl'/*!\n' ... izer ('' * Gen ... izer (' * Generated using the Bootstrap Customizer ()
' * Con ... n and ' * Config saved to config.json and  Config saved to configjson and $.when( ...      })$.when( ...       )generat ... eamble)generateJS(preamble)generateFonts()generat ...      })$compil ... oveAttrsetTime ...   }, 0)saveAs( ... p.zip')bootstrap.zipparseUrl()/opt/src/docs/assets/js/vendor/Blob.js/opt/src/docs/assets/js/vendor Blob.js
 * A Blob implementation.
 * 2014-07-24
 *
 * By Eli Grey, http://eligrey.com
 * By Devin Samarin, https://github.com/dsamarin
 * License: X11/MIT
 *   See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md
 /* Blob ... .md\n */global self, unescape /*globa ... cape */jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,
  plusplus: true /*jslin ... true */! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js /*! @so ... b.js */ Internally we use a BlobBuilder implementation to base Blob off of// Inte ...  off of in order to support older browsers that only have BlobBuilder// in o ... Builder Polyfill URL// Polyfill URL, endings/*, endings*/ decode data to a binary string// deco ...  string async FileReader won't work as BlobBuilder is sync// asyn ... is sync convert unsupported types to strings// conv ... strings decode UTF-16 to binary string	"use strict"MozBlobBuilderget_class/^\[object\s(.*)\]$/FakeBlobBuilderFakeBlobFBB_protoFB_protoFileReaderSyncFileExceptionfile_ex_codes"NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR ""NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR"" "file_ex_codereal_URLreal_create_object_URLreal_revoke_object_URL/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/fakewhile--uri_info"http://www.w3.org/1999/xhtml""a"uri_origin"origin""data:"data_URI_header"application/octet-stream""base64"";base64,""URI"","object_URLbb""buf_len"Blob""File""NOT_READABLE_ERR""raw""string""[object BlobBuilder]""[object Blob]"blobPartsbuilder"undefined"(functi ... this));(functi ...  this))functio ... | this)functio ... b());\n}{\n\t"use ... b());\n}"use strict";view.UR ... kitURL;view.UR ... bkitURLview.URLview.webkitURLif (vie ... ) {}\n\t}view.Bl ... iew.URLview.Blob{\n\t\ttry ... ) {}\n\t}try {\n\t ...  (e) {}{\n\t\t\tne ... rn;\n\t\t}new Blob;new Blobreturn;catch (e) {}var Blo ... view));BlobBui ... (view))view.Bl ... (view))view.Bl ... Builderview.BlobBuilderview.We ... Builderview.MozBlobBuilder(functi ... (view))functio ... }(view)functio ... der;\n\t}{\n\t\tvar ... der;\n\t}var\n\t\t\t ... )?/\n\t\t;get_cla ... ];\n\t\t\t}functio ... ];\n\t\t\t}{\n\t\t\t\tr ... ];\n\t\t\t}return  ... $/)[1];Object. ... ]$/)[1]Object. ... *)\]$/)Object. ... ).matchObject. ... object)Object. ... ng.call^\[object\s(.*)\]$\s(.*).*FakeBlo ... ];\n\t\t\t}{\n\t\t\t\tt ... ];\n\t\t\t}this.data = [];this.data = []this.dataFakeBlo ... g;\n\t\t\t}functio ... g;\n\t\t\t}{\n\t\t\t\tt ... g;\n\t\t\t}this.data = data;this.data = datathis.si ... length;this.si ... .lengththis.sizedata.lengththis.type = type;this.type = typethis.typethis.en ... coding;this.en ... ncodingthis.encodingFBB_pro ... ototypeFakeBlo ... ototypeFB_prot ... ototypeFakeBlob.prototypeFileRea ... derSyncview.FileReaderSyncFileExc ... ];\n\t\t\t}this.co ...  type];this.co ... = type]this.codethis[th ... = type]this.name = typethis.namefile_ex ... it(" ")(\n\t\t\t\t  ... it(" ")(\n\t\t\t\t  ... ).split(\n\t\t\t\t  ... R"\n\t\t\t)"NOT_FO ... AX_ERR""NOT_FO ... G_ERR "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR "NO_MOD ... AX_ERR"NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERRfile_ex ... .lengthfile_ex_codes.lengthreal_UR ... || viewview.UR ... || viewreal_cr ... jectURLreal_cr ... ect_URLreal_UR ... jectURLreal_re ... jectURLreal_re ... ect_URLURL = real_URLbtoa = view.btoaview.btoaatob = view.atobview.atobArrayBu ... yBufferview.ArrayBufferUint8Ar ... t8Arrayview.Uint8Arrayorigin  ... -9]+)?//^[\w-] ... -9]+)?/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?[\w-]+[\w-]\w\/*\[?[\w\.:-]+[\w\.:-]\]?(?::[0-9]+)?(?::[0-9]+):[0-9]+[0-9]+[0-9]FakeBlo ... = true;FakeBlo ...  = trueFakeBlob.fakeFB_proto.fake = trueFB_proto.fakewhile ( ...  1;\n\t\t}file_ex_code--{\n\t\t\tFi ...  1;\n\t\t}FileExc ... de + 1;FileExc ... ode + 1FileExc ... _code]]FileExc ... ototypefile_ex ... x_code]file_ex_code + 1if (!re ... \t};\n\t\t}!real_U ... jectURL{\n\t\t\tUR ... \t};\n\t\t}URL = v ... ;\n\t\t\t};URL = v ... o;\n\t\t\t}view.UR ... o;\n\t\t\t}functio ... o;\n\t\t\t}{\n\t\t\t\tv ... o;\n\t\t\t}var\n\t\t\t ... n\n\t\t\t\t;uri_inf ... ", "a")documen ... ", "a")documen ... ementNS"http:/ ... /xhtml"http://www.w3.org/1999/xhtmlhttp://wwww3org/1999/xhtmluri_info.href = uri;uri_info.href = uriuri_info.hrefif (!(" ... }\n\t\t\t\t}!("orig ... i_info)("origi ... i_info)"origin" in uri_info{\n\t\t\t\t\t ... }\n\t\t\t\t}if (uri ... \n\t\t\t\t\t}uri_inf ... "data:"uri_inf ... rCase()uri_inf ... werCaseuri_info.protocoldata:{\n\t\t\t\t\t ... \n\t\t\t\t\t}uri_inf ... = null;uri_inf ...  = nulluri_info.originuri_ori ... rigin);uri_ori ... origin)uri.match(origin)uri.matchuri_inf ... gin[1];uri_inf ... igin[1]uri_ori ... igin[1]uri_origin[1]return uri_info;URL.cre ... \t}\n\t\t};URL.cre ... \t\t}\n\t\t}functio ... \t\t}\n\t\t}{\n\t\t\tva ... \t\t}\n\t\t}var\n\t\t\t ... er\n\t\t\t;type = blob.typeblob.typeif (typ ... ";\n\t\t\t}type === null{\n\t\t\t\tt ... ";\n\t\t\t}type =  ... tream";type =  ... stream""applic ... stream"application/octet-streamif (blo ... );\n\t\t\t}blob in ... akeBlob{\n\t\t\t\td ... \t}\n\t\t\t}data_UR ... + type;data_UR ...  + type"data:" + typeif (blo ... ;\n\t\t\t\t}blob.en ... base64"blob.encoding{\n\t\t\t\t\t ... ;\n\t\t\t\t}return  ... b.data;data_UR ... ob.datadata_UR ... ase64,";base64,blob.datablob.en ... = "URI"URIreturn  ... .data);data_UR ... b.data)data_UR ... r + ","decodeU ... b.data)if (bto ... ;\n\t\t\t\t}btoa(blob.data)encodeU ... b.data)if (rea ... );\n\t\t\t}{\n\t\t\t\tr ... );\n\t\t\t}return  ...  blob);real_cr ... , blob)real_cr ... RL.callURL.rev ... \t}\n\t\t};URL.rev ... \t\t}\n\t\t}{\n\t\t\tif ... \t\t}\n\t\t}if (obj ... );\n\t\t\t}object_ ... ect_URLobject_ ... "data:"object_ ... g(0, 5)object_URL.substringreal_re ... t_URL);real_re ... ct_URL)real_re ... RL.callFBB_pro ... \t}\n\t\t};FBB_pro ... \t\t}\n\t\t}FBB_proto.appendvar bb = this.data;bb = this.dataif (Uin ... );\n\t\t\t}Uint8Ar ... 8Array)(data i ... 8Array)data in ... t8Arraydata in ... yBuffer{\n\t\t\t\tv ... );\n\t\t\t}var\n\t\t\t ... h\n\t\t\t\t;str = ""buf = n ... y(data)new Uint8Array(data)buf_len = buf.lengthbuf.lengthfor (;  ... ;\n\t\t\t\t}i < buf_lenstr +=  ... uf[i]);str +=  ... buf[i])String. ... buf[i])buf[i]bb.push(str);bb.push(str)bb.pushif (get ... );\n\t\t\t}get_cla ...  "File"get_cla ...  "Blob"get_class(data){\n\t\t\t\ti ... \t}\n\t\t\t}if (Fil ... ;\n\t\t\t\t}var fr  ... erSync;fr = ne ... derSyncnew FileReaderSyncbb.push ... data));bb.push ... (data))fr.read ... g(data)fr.read ... yStringthrow n ... _ERR");new Fil ... E_ERR")if (dat ... );\n\t\t\t}data in ... akeBlobif (dat ... ;\n\t\t\t\t}data.en ... && atobdata.en ... base64"data.encodingbb.push ... .data))atob(data.data)data.datadata.en ... = "URI"decodeU ... a.data)data.en ... = "raw"bb.push(data.data);bb.push(data.data){\n\t\t\t\ti ... );\n\t\t\t}if (typ ... s\n\t\t\t\t}typeof  ... string"typeof data{\n\t\t\t\t\t ... s\n\t\t\t\t}data += "";data += ""bb.push ... ata)));bb.push ... data)))unescap ... (data))encodeU ... t(data)FBB_pro ... );\n\t\t};FBB_pro ... ");\n\t\t}FBB_proto.getBlobfunctio ... ");\n\t\t}{\n\t\t\tif ... ");\n\t\t}if (!ar ... l;\n\t\t\t}!arguments.lengtharguments.length{\n\t\t\t\tt ... l;\n\t\t\t}type = null;type = nullreturn  ... "raw");new Fak ...  "raw")this.data.join("")this.data.joinFBB_pro ... ";\n\t\t};FBB_pro ... ]";\n\t\t}FBB_proto.toStringfunctio ... ]";\n\t\t}{\n\t\t\tre ... ]";\n\t\t}return  ... lder]";"[objec ... ilder]"[object BlobBuilder]jBFB_prot ... );\n\t\t};FB_prot ... \t);\n\t\t}FB_proto.slicefunctio ... \t);\n\t\t}{\n\t\t\tva ... \t);\n\t\t}var arg ... length;args =  ... .lengthif (arg ... l;\n\t\t\t}args < 3return  ... g\n\t\t\t);new Fak ... ng\n\t\t\t)this.da ... length)this.data.sliceargs >  ... .lengthargs > 1this.data.lengthFB_prot ... ";\n\t\t};FB_prot ... ]";\n\t\t}FB_proto.toStringreturn  ... Blob]";[object Blob]FB_prot ... a;\n\t\t};FB_prot ... ta;\n\t\t}FB_proto.closefunctio ... ta;\n\t\t}{\n\t\t\tth ... ta;\n\t\t}this.size = 0;this.size = 0delete this.data;delete this.datareturn  ... uilder;view.Bl ... ob;\n\t};view.Bl ... lob;\n\t}functio ... lob;\n\t}{\n\t\tvar ... lob;\n\t}var typ ... ) : "";type =  ... ") : ""options ... ") : ""(options.type || "")options.type || ""options.typevar bui ... lder();builder ... ilder()new BlobBuilder()if (blo ... \t\t}\n\t\t}{\n\t\t\tfo ... \t\t}\n\t\t}for (va ... \t}\n\t\t\t}i < lenvar i = ... .lengthlen = b ... .lengthblobParts.lengthif (Uin ... ;\n\t\t\t\t}blobPar ... t8ArrayblobParts[i]builder ... uffer);builder ... buffer)builder.appendblobParts[i].bufferbuilder ... ts[i]);builder ... rts[i])var blo ... (type);blob =  ... b(type)builder ... b(type)builder.getBlobif (!bl ... ce;\n\t\t}!blob.s ... itSlice!blob.sliceblob.sliceblob.webkitSlice{\n\t\t\tbl ... ce;\n\t\t}blob.sl ... tSlice;blob.sl ... itSlicereturn blob;var get ... __;\n\t};getProt ... o__;\n\t}Object. ... o__;\n\t}functio ... o__;\n\t}{\n\t\tret ... o__;\n\t}return  ... roto__;object.__proto__view.Bl ... lob());view.Bl ... Blob())view.Blob.prototypegetProt ... Blob())new view.Blob()typeof  ... || thistypeof  ... contenttypeof  ...  windowtypeof  ... && selftypeof  ... efined"typeof selftypeof windowthis.content/opt/src/docs/assets/js/vendor/FileSaver.js FileSaver.js
 * A saveAs() FileSaver implementation.
 * 2015-03-04
 *
 * By Eli Grey, http://eligrey.com
 * License: X11/MIT
 *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
 /* File ... .md\n */global self /*global self */jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true ! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js /*! @so ... r.js */ IE 10+ (native saveAs)// IE 1 ... saveAs) Everyone else// Everyone else IE <10 is explicitly unsupported// IE < ... pported only get URL when necessary in case Blob.js hasn't overridden it yet// only ...  it yet See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and// See  ... #c7 and https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047// http ... 8768047 for the reasoning behind the timeout and revocation flow// for  ... on flow in ms// in ms file is an object URL// file ... ect URL file is a File// file is a File First try a.download, then web filesystem, then object URLs// Firs ... ct URLs on any filesys errors revert to saving with object URLs// on a ... ct URLs don't create more object URLs than needed// don' ...  neededApple do not allow window.open, see http://bit.ly/1kZffRI//Apple ... 1kZffRI prepend BOM for UTF-8 XML and text/plain types// prep ... n types Object and web filesystem URLs have a problem saving in Google Chrome when// Obje ... me when viewed in a tab, so I force save with application/octet-stream// view ... -stream http://code.google.com/p/chromium/issues/detail?id=91158// http ... d=91158 Update: Google errantly closed 91158, I submitted it again:// Upda ...  again: https://code.google.com/p/chromium/issues/detail?id=389642// http ... =389642 Since I can't be sure that the guessed media type will trigger a download// Sinc ... ownload in WebKit, I append .download to the filename.// in W ... lename. https://bugs.webkit.org/show_bug.cgi?id=65440// http ... d=65440 delete file if it already exists// dele ...  exists `self` is undefined in Firefox for Android content script context// `sel ... context while `this` is nsIContentFrameMessageManager// whil ... Manager with an attribute `content` that corresponds to the window// with ...  window/MSIE [1-9]\./docget_URLsave_linkcan_use_save_link"download""MouseEvents""click"webkit_req_fsreq_fsmozRequestFileSystemthrow_outsideexforce_saveable_typefs_min_sizearbitrary_revoke_timeoutrevokerevokerdispatchfilesaverevent_types"on""function"blob_changedobject_urltarget_viewdispatch_all"writestart progress write writeend"fs_errornew_tab"_blank"safariabortablecreate_if_not_found/^\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i"\ufeff"".download""saved""writeend""writestart progress write abort"FS_proto"abort"defineamd!=var sav ... ent\n));saveAs  ... tent\n))saveAs\n ... tent\n))saveAs\n ... gator))(typeof ... gator))typeof  ... igator)typeof  ... penBlobtypeof navigatornavigat ... penBlobnavigat ... igator)navigat ... ob.bind(functi ... tent\n))functio ... ntent\n)functio ... veAs;\n}{\n\t"use ... veAs;\n}if (typ ... urn;\n\t}typeof  ... rAgent)/MSIE [ ... rAgent)/MSIE [1-9]\./.testMSIE [1-9]\.[1-9]1-9{\n\t\treturn;\n\t}var\n\t\t  ... \n\t\t}\n\t;doc = view.documentview.documentget_URL ... ew;\n\t\t}functio ... ew;\n\t\t}{\n\t\t\tre ... ew;\n\t\t}return  ... | view;save_li ... ", "a")doc.cre ... ", "a")doc.createElementNScan_use ... ve_link"downlo ... ve_linkclick = ... t);\n\t\t}functio ... t);\n\t\t}{\n\t\t\tva ... t);\n\t\t}event = ... vents")doc.cre ... vents")doc.createEventMouseEventsevent.i ... l\n\t\t\t);event.i ... ll\n\t\t\t)event.initMouseEventnode.di ... event);node.di ... (event)node.dispatchEventwebkit_ ... eSystemview.we ... eSystemreq_fs  ... eSystemview.re ... eSystemview.re ... _req_fsview.mo ... eSystemthrow_o ... 0);\n\t\t}functio ... 0);\n\t\t}{\n\t\t\t(v ... 0);\n\t\t}(view.s ... \t}, 0);(view.s ... \t\t}, 0)(view.s ... imeout)view.se ... Timeoutview.setImmediateview.setTimeoutfunctio ... x;\n\t\t\t}{\n\t\t\t\tthrow ex;\n\t\t\t}throw ex;force_s ... stream"fs_min_size = 0arbitra ... t = 500arbitra ... timeoutrevoke  ... \t\t}\n\t\t}var rev ... }\n\t\t\t};revoker ... \t}\n\t\t\t}functio ... \t}\n\t\t\t}if (typ ... ;\n\t\t\t\t}typeof file{ // fi ... ;\n\t\t\t\t}get_URL ... (file);get_URL ... L(file)get_URL ... jectURLget_URL()file.remove();file.remove()file.removeif (vie ... );\n\t\t\t}view.chromerevoker();revoker(){\n\t\t\t\ts ... );\n\t\t\t}setTime ... meout);setTime ... imeout)dispatc ... \t\t}\n\t\t}{\n\t\t\tev ... \t\t}\n\t\t}event_t ... types);event_t ... _types)[].conc ... _types)[].concatvar i = ... length;i = eve ... .lengthevent_types.lengthwhile ( ... \t}\n\t\t\t}i--{\n\t\t\t\tv ... \t}\n\t\t\t}var lis ... es[i]];listene ... pes[i]]filesav ... pes[i]]"on" +  ... ypes[i]event_types[i]if (typ ... }\n\t\t\t\t}typeof  ... nction"typeof listenertry {\n\t ... \n\t\t\t\t\t}listene ... saver);listene ... esaver)listener.callevent || filesavercatch ( ... \n\t\t\t\t\t}throw_outside(ex);throw_outside(ex)FileSav ... r);\n\t\t}functio ... r);\n\t\t}{\n\t\t\t// ... r);\n\t\t}var\n\t\t\t ... ce\n\t\t\t;filesaver = thisblob_changed = falsedispatc ... ;\n\t\t\t\t}functio ... ;\n\t\t\t\t}dispatc ... (" "));dispatc ... t(" "))"writes ... it(" ")"writes ... ".split"writes ... iteend"writestart progress write writeendfs_erro ... ;\n\t\t\t\t}if (blo ... \n\t\t\t\t\t}blob_ch ... ect_url!object_urlobject_ ... (blob);object_ ... L(blob)get_URL ... L(blob)if (tar ... \n\t\t\t\t\t}target_ ... ct_url;target_ ... ect_urltarget_ ... on.hreftarget_view.locationvar new ... lank");new_tab ... blank")view.op ... blank")view.openif (new ... \t\t\t\t\t\t}new_tab ... efined"new_tab == undefinedtypeof safari{\n\t\t\t\t\t ... \t\t\t\t\t\t}view.lo ... ect_urlview.location.hrefview.locationfilesav ... r.DONE;filesav ... er.DONEfilesaver.readyStatefilesaver.DONEdispatch_all();dispatch_all()revoke(object_url);revoke(object_url)abortab ... ;\n\t\t\t\t}return  ... \t\t\t\t\t};functio ... \n\t\t\t\t\t}if (fil ... \t\t\t\t\t\t}return  ... ments);func.ap ... uments)func.applycreate_ ...  false}{create ...  false}create: trueexclusive: falsefilesav ... r.INIT;filesav ... er.INITfilesaver.INITif (!na ... ";\n\t\t\t}!name{\n\t\t\t\tn ... ";\n\t\t\t}name = "download";name = "download"if (can ... n;\n\t\t\t}{\n\t\t\t\to ... n;\n\t\t\t}save_li ... ct_url;save_li ... ect_urlsave_link.hrefsave_li ... = name;save_li ...  = namesave_link.downloadclick(save_link);click(save_link)if (/^\ ... );\n\t\t\t}/^\s*(? ... b.type)/^\s*(? ... /i.test/^\s*(? ... utf-8/i^\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8\s*(?:text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xml)text\/(?:plain|xml)|application\/xml|\S*\/\S*\+xmltext\/(?:plain|xml)(?:plain|xml)plain|xmlplainapplication\/xml\S*\/\S*\+xml\S*\S{\n\t\t\t\tb ... );\n\t\t\t}blob =  ... type});blob =  ... .type})new Blo ... .type})["\ufeff", blob]﻿{type: blob.type}type: blob.typeif (vie ... e;\n\t\t\t}view.ch ... le_typeview.chrome && typetype != ... le_type{\n\t\t\t\ts ... e;\n\t\t\t}slice = ... tSlice;slice = ... itSliceblob =  ... _type);blob =  ... e_type)slice.c ... e_type)slice.callblob.sizeblob_changed = true;blob_changed = trueif (web ... ";\n\t\t\t}webkit_ ... wnload"name !== "download"name += ".download";name += ".download".downloadif (typ ... w;\n\t\t\t}type == ... _req_fstype == ... le_type{\n\t\t\t\tt ... w;\n\t\t\t}target_view = view;target_view = viewif (!re ... n;\n\t\t\t}!req_fs{\n\t\t\t\tf ... n;\n\t\t\t}fs_error();fs_error()fs_min_ ... b.size;fs_min_ ... ob.sizereq_fs( ... error);req_fs( ... _error)view.TEMPORARYabortab ... ;\n\t\t\t})functio ... );\n\t\t\t}{\n\t\t\t\tf ... );\n\t\t\t}fs.root ... error);fs.root ... _error)fs.root.getDirectoryfs.rootsavedabortab ... \n\t\t\t\t})var sav ... \t\t\t\t\t};save =  ... \n\t\t\t\t\t}dir.get ... error);dir.get ... _error)dir.getFileabortab ... \t\t\t\t\t})functio ... \t\t\t\t\t\t}file.cr ... error);file.cr ... _error)file.createWriterwriter. ... \t\t\t\t\t};writer. ... \t\t\t\t\t\t}writer.onwriteendtarget_ ... oURL();target_ ... toURL()file.toURL()file.toURLdispatc ... event);dispatc ...  event)writeendrevoke(file);revoke(file)writer.onerrorvar err ... .error;error = writer.errorwriter.errorif (err ... \t\t\t\t\t\t}error.c ... ORT_ERRerror.codeerror.ABORT_ERR"writes ... \t\t\t\t});"writes ... \t\t\t\t\t})"writes ... forEach"writes ...  abort"writestart progress write abortwriter[ ... event];writer[ ...  event]writer["on" + event]"on" + eventfilesav ...  event]writer.write(blob);writer.write(blob)writer.writefilesav ... \t\t\t\t\t};filesav ... \t\t\t\t\t\t}filesaver.abortwriter.abort();writer.abort()writer.abortfilesav ... RITING;filesav ... WRITINGfilesaver.WRITINGdir.get ... \t\t\t}));dir.get ... \t\t\t\t})){create: false}create: falsesave();save()if (ex. ... \t\t\t\t\t\t}ex.code ... UND_ERRex.codeex.NOT_FOUND_ERRFS_prot ... ototypesaveAs  ... e);\n\t\t}functio ... e);\n\t\t}{\n\t\t\tre ... e);\n\t\t}return  ...  name);new Fil ... , name)FS_prot ... ");\n\t};FS_prot ... t");\n\t}FS_proto.abortfunctio ... t");\n\t}{\n\t\tvar ... t");\n\t}var fil ... = this;dispatc ... bort");dispatc ... abort")FS_prot ... IT = 0;FS_prot ... NIT = 0FS_proto.readyStateFS_proto.INIT = 0FS_proto.INITFS_prot ... NG = 1;FS_proto.WRITING = 1FS_proto.WRITINGFS_proto.DONE = 2;FS_proto.DONE = 2FS_proto.DONEFS_prot ... \t\tnull;FS_prot ... \n\t\tnullFS_proto.errorFS_prot ... testartFS_proto.onprogressFS_proto.onwriteFS_proto.onabortFS_proto.onerrorFS_proto.onwriteendreturn saveAs;if (typ ...   });\n}typeof  ... exportstypeof module{\n  mod ... veAs;\n}module. ... saveAs;module. ...  saveAsmodule. ... .saveAsif ((ty ...   });\n}(typeof ... = null)typeof  ... == nulltypeof definedefine !== null(define.amd != null)define.amd != nulldefine.amd{\n  def ...   });\n}define( ... ;\n  });define( ... s;\n  })functio ... As;\n  }{\n    r ... As;\n  }/opt/src/docs/assets/js/vendor/autoprefixer.js!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 /*!\n *  ... MIT\n */ not used by this implementation// not  ... ntation
 * If `Buffer.TYPED_ARRAY_SUPPORT`:
 *   === true    Use Uint8Array implementation (fastest)
 *   === false   Use Object implementation (most compatible, even IE6)
 *
 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
 * Opera 11.6+, iOS 4.2+.
 *
 * Note:
 *
 * - Implementation must support adding new properties to `Uint8Array` instances.
 *   Firefox 4-29 lacked support, fixed in Firefox 30+.
 *   See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
 *
 *  - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
 *
 *  - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
 *    incorrect length in some situations.
 *
 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they will
 * get the Object implementation, which is slower but will work correctly.
  typed array instances can be augmented// type ... gmented chrome 9-10 lack `subarray`// chro ... barray` ie10 has broken `subarray`// ie10 ... barray`
 * Class: Buffer
 * =============
 *
 * The Buffer constructor returns instances of `Uint8Array` that are augmented
 * with function properties for all the node `Buffer` API functions. We use
 * `Uint8Array` so that square bracket notation works as expected -- it returns
 * a single octet.
 *
 * By augmenting the instances, we can avoid modifying the `Uint8Array`
 * prototype.
  assume object is array-like// assu ... ay-like coerce to uint32// coerce to uint32 Preferred: Return an augmented `Uint8Array` instance for best performance// Pref ... ormance eslint-disable-line consistent-this// esli ... nt-this Fallback: Return THIS instance of Buffer (created by `new`)// Fall ...  `new`) Speed optimization -- use set if we're copying from a typed array// Spee ... d array Treat array-ish objects as a byte array// Trea ... e array pre-set for values that may exist in the future// pre- ...  future toString(encoding, start=0, end=buffer.length)// toSt ... length) Negative offsets start from the end of the buffer// Nega ...  buffer special case: looking for empty string always fails// spec ... s fails `get` will be removed in Node 0.13+// `get ... e 0.13+ `set` will be removed in Node 0.13+// `set ... e 0.13+ must be an even number of digits// must ...  digits Support both (string, offset, length, encoding)// Supp ... coding) and the legacy (string, encoding, offset, length)// and  ... length) legacy// legacy
 * Need to make sure that buffer isn't trying to write out of bounds.
 /*\n * N ... ds.\n */ copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)// copy ... length) Copy 0 bytes; we're done// Copy ... re done Fatal error conditions// Fata ... ditions Are we oob?// Are we oob? fill(value, start=0, end=buffer.length)// fill ... length) Fill 0 bytes; we're done// Fill ... re done
 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
  HELPER FUNCTIONS// HELPER FUNCTIONS ================// ================
 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
  save reference to original Uint8Array set method before overwriting// save ... writing deprecated, will be removed in node 0.13+// depr ... e 0.13+ Node strips out invalid characters like \n and \t from the string, base64-js does not// Node ... oes not Node converts strings with length < 2 to ''// Node ... 2 to '' Node allows for non-padded base64 strings (missing trailing ===), base64-js does not is surrogate component// is s ... mponent last char was a lead// last ...  a lead 2 leads in a row// 2 leads in a row valid surrogate pair// vali ... te pair no lead yet// no lead yet unexpected trail// unexpected trail unpaired lead// unpaired lead valid lead// valid lead valid bmp char, but last char was a lead// vali ...  a lead encode utf8// encode utf8 Node's code seems to be doing this and not & 0x7F..// Node ...  0x7F.. UTF 8 invalid char// UTF  ... id char '+'// '+' '/'// '/'no match//no match the number of equal signs (place holders)// the  ... olders) if there are two placeholders, than the two characters before it// if t ... fore it represent one byte// repr ... ne byte if there is only one, then the three characters before it represent 2 bytes// if t ... 2 bytes this is just a cheap hack to not do indexOf twice// this ... f twice base64 is 4/3 + up to two characters of the original data// base ... al data if there are placeholders, only get up to the last complete 4 chars// if t ... 4 chars if we have 1 byte left, pad 2 bytes// if w ... 2 bytes go through the array every three bytes, we'll deal with trailing stuff later// go t ... f later pad the end with zeros, but make sure to not forget the extra bytes// pad  ... a bytes
 * isArray
 /**\n * isArray\n */
 * toString
 /**\n * toString\n */
 * Whether or not the given `val`
 * is an array.
 *
 * example:
 *
 *        isArray([]);
 *        // > true
 *        isArray(arguments);
 *        // > false
 *        isArray('');
 *        // > false
 *
 * @param {mixed} val
 * @return {bool}
  Copyright Joyent, Inc. and other Node contributors.// Copy ... butors. Permission is hereby granted, free of charge, to any person obtaining a// Perm ... ining a copy of this software and associated documentation files (the// copy ... es (the "Software"), to deal in the Software without restriction, including// "Sof ... cluding without limitation the rights to use, copy, modify, merge, publish,// with ... ublish, distribute, sublicense, and/or sell copies of the Software, and to permit// dist ...  permit persons to whom the Software is furnished to do so, subject to the// pers ...  to the following conditions:// foll ... itions: The above copyright notice and this permission notice shall be included// The  ... ncluded in all copies or substantial portions of the Software.// in a ... ftware. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS// THE  ... EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF// OR I ... TIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN// MERC ... ENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,// NO E ...  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR// DAMA ... TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE// OTHE ...  OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.// USE  ... FTWARE. resolves . and .. elements in a path array with directory names there// reso ... s there must be no slashes, empty elements, or device names (c:\) in the array// must ... e array (so also no leading and trailing slashes - it does not distinguish// (so  ... inguish relative and absolute paths)// rela ...  paths) if the path tries to go above the root, `up` ends up > 0// if t ...  up > 0 if the path is allowed to go above the root, restore leading ..s// if t ... ing ..s Split a filename into [root, dir, basename, ext], unix version// Spli ... version 'root' is just a slash, or nothing.// 'roo ... othing. path.resolve([from ...], to)// path ... .], to) posix version// posix version Skip empty and invalid entries// Skip ... entries At this point the path should be resolved to a full absolute path, but// At t ... th, but handle relative paths to be safe (might happen when process.cwd() fails)// hand ...  fails) Normalize the path// Norm ... he path path.normalize(path)// path ... e(path) path.relative(from, to)// path ... om, to) No dirname whatsoever// No d ... tsoever It has a dirname, strip trailing slash// It h ... g slash TODO: make this comparison case-insensitive on windows?// TODO ... indows? String.prototype.substr - negative index don't work in IE8// Stri ...  in IE8 shim for using process in browser// shim ... browser empty string to avoid regexp issues// empt ...  issues TODO(shtylman)// TODO(shtylman) Return array of browsers by selection queries:// Retu ... ueries:   browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8']//   br ... 'ie 8'] Will be filled by Can I Use data below// Will ... a below Default browsers query// Defa ... s query What browsers will be used in `last n version` query// What ... ` query Browser names aliases// Brow ... aliases Aliases ot work with joined versions like `ios_saf 7.0-7.1`// Alia ... .0-7.1` Get browser data by alias or case insensitive name// Get  ... ve name Find config, read file and parse it// Find ... arse it Return array of queries from config content// Retu ... content Get and convert Can I Use data// Get  ... se data????? Greatest Common Divisor//????? ... Divisor???//?????//?? CSS at-rule like �this.keyframes name { }�.// CSS  ... e { }\ufffd. Can contain declarations (like this.font-face or this.page) ot another rules.// Can  ...  rules. Stringify at-rule// Stringify at-rule Hack to mark, that at-rule contains children// Hack ... hildren CSS comment between declarations or rules// CSS  ... r rules Stringify declaration// Stri ... aration CSS node, that contain another nodes (like at-rules or rules with selectors)// CSS  ... ectors) Stringify container children// Stri ... hildren Stringify node with start (for example, selector) and brackets block// Stri ... s block with child inside// with child inside Add child to end of list without any checks.// Add  ... checks. Please, use `append()` method, `push()` is mostly for parser.// Plea ... parser. Execute `callback` on every child element. First arguments will be child// Exec ... e child node, second will be index.// node ...  index.   css.each( (rule, i) => {//   cs ... i) => {       console.log(rule.type + ' at ' + i);//      ... ' + i);   });//   }); It is safe for add and remove elements to list while iterating:// It i ... rating:  css.each( (rule) => {//  css ... e) => {      css.insertBefore( rule, addPrefix(rule) );//      ... ule) );      # On next iteration will be next rule, regardless of that//      ... of that      # list size was increased//      ... creased  });//  }); Execute callback on every child in all rules inside.// Exec ... inside. First argument will be child node, second will be index inside parent.// Firs ... parent.   css.eachInside( (node, i) => {       console.log(node.type + ' at ' + i); Also as `each` it is safe of insert/remove nodes inside iterating.// Also ... rating. Execute callback on every declaration in all rules inside. It will goes inside at-rules recursivelly.// It w ... ivelly. First argument will be declaration node, second will be index inside// Firs ...  inside parent rule.// parent rule.   css.eachDecl( (decl, i) => {       console.log(decl.prop + ' in ' + decl.parent.selector + ':' + i); You can filter declrataion by property name:// You  ... y name:   css.eachDecl('background', (decl) => { });//   cs ... > { }); Execute `callback` on every rule in conatiner and inside child at-rules.// Exec ... -rules. First argument will be rule node, second will be index inside parent.   css.eachRule( (rule, i) => {       if ( parent.type == 'atrule' ) {//      ... le' ) {           console.log(rule.selector + ' in ' + rule.parent.name);//      ... .name);       } else {//       } else {           console.log(rule.selector + ' at ' + i);       }//       } Execute `callback` on every at-rule in conatiner and inside at-rules. First argument will be at-rule node, second will be index inside parent.   css.eachAtRule( (atrule, parent, i) => {           console.log(atrule.name + ' in ' + atrule.parent.name);           console.log(atrule.name + ' at ' + i); You can filter at-rules by name:   css.eachAtRule('keyframes', (atrule) => { }); Execute callback on every block comment (only between rules// Exec ... n rules and declarations, not inside selectors and values) in all rules inside.// and  ... inside. First argument will be comment node, second will be index inside   css.eachComment( (comment, i) => {       console.log(comment.content + ' at ' + i); Add child to container.// Add  ... tainer.   css.append(rule);//   cs ... (rule); You can add declaration by hash:// You  ... y hash:   rule.append({ prop: 'color', value: 'black' });//   ru ... ck' }); Add child to beginning of container// Add  ... ntainer   css.prepend(rule);   rule.prepend({ prop: 'color', value: 'black' }); Insert new `added` child before `exist`.// Inse ... exist`. You can set node object or node index (it will be faster) in `exist`.// You  ... exist`.   css.insertAfter(1, rule);//   cs ...  rule);   rule.insertBefore(1, { prop: 'color', value: 'black' }); Insert new `added` child after `exist`.   rule.insertAfter(1, { prop: 'color', value: 'black' }); Remove `child` by index or node.// Remo ... r node.   css.remove(2);//   css.remove(2); Remove all children in node.// Remo ... n node.   css.removeAll();//   cs ... eAll(); Recursivelly check all declarations inside node and replace// Recu ... replace `regexp` by `callback`.// `reg ... lback`.   css.replaceValues('black', '#000');//   cs ... #000'); Argumets `regexp` and `callback` is same as in `String#replace()`.// Argu ... ace()`. You can speed up checks by `props` and `fast` options:// You  ... ptions:   css.replaceValues(/\d+rem/, { fast: 'rem', props: ['width'] },//   cs ... th'] },       function (str) {//      ... (str) {           return (14 * parseInt(str)) + 'px';//      ... + 'px';       })//       }) Return true if all nodes return true in `condition`.// Retu ... ition`. Just shorcut for `nodes.every`.// Just ... every`. Return true if one or more nodes return true in `condition`. Just shorcut for `nodes.some`.// Just ... .some`. Return index of child// Retu ... f child Normalize child before insert. Copy before from `sample`.// Norm ... ample`. Shortcut to get first child// Shor ... t child Error while CSS parsing// Erro ... parsing Return source of broken lines// Retu ... n lines CSS declaration like �color: black� in rules// CSS  ... n rules Throw syntax error from this input// Thro ... s input Get origin position of code if source map was given// Get  ... s given Return path relative from source map root// Retu ... ap root Methods to parse list and split it to array// Meth ... o array Split string to array by separator symbols with function and inside strings// Spli ... strings cheching// cheching Split list devided by space:// Spli ...  space:   list.space('a b') #=> ['a', 'b']//   li ... ', 'b'] It check for fuction and strings:// It c ... trings:   list.space('calc(1px + 1em) "b c"') #=> ['calc(1px + 1em)', '"b c"']//   li ... "b c"'] Split list devided by comma// Spli ... y comma   list.comma('a, b') #=> ['a', 'b']   list.comma('rgba(0, 0, 0, 0) white') #=> ['rgba(0, 0, 0, 0)', '"white"']//   li ... hite"'] All tools to generate source maps// All  ... ce maps Should map be generated// Shou ... nerated Return source map arrays from previous compilation step (like Sass)// Retu ... e Sass) Should we inline source map to annotation comment// Shou ... comment Should we set sourcesContent// Shou ... Content Clear source map annotation comment// Clea ... comment Set origin CSS content// Set  ... content Apply source map from previous compilation step (like Sass)// Appl ... e Sass) Should we add annotation comment Add source map annotation comment if it is needed// Add  ...  needed Return output CSS file path// Retu ... le path Return Result object with map// Retu ... ith map Return path relative from output CSS file// Retu ... SS file Return path of node source for map// Retu ... for map Return CSS string and source map// Retu ... rce map Return Result object with or without map// Retu ... out map Default code style// Defa ... e style Recursivly clone objects// Recu ... objects Some common methods for all CSS nodes// Some ... S nodes Return error to mark error in your plugin syntax:// Retu ... syntax:   if ( wrongVariable ) {//   if ... ble ) {       throw decl.error('Wrong variable');//      ... able');   }//   } You can also get origin line and column from previous source map:// You  ... ce map:   if ( deprecatedSyntax ) {//   if ... tax ) {       var error = decl.error('Deprecated syntax');//      ... ntax');       console.warn(error.toString());//      ... ing()); Remove this node from parent// Remo ...  parent   decl.removeSelf();//   de ... Self(); Note, that removing by index is faster:// Note ... faster:   rule.each( (decl, i) => rule.remove(i) );//   ru ... e(i) ); Shortcut to insert nodes before and remove self.// Shor ... e self.   importNode.replace( loadedRoot );//   im ... Root ); Return CSS string of current node// Retu ... nt node   decl.toString(); //=> "  color: black"//   de ...  black" Clone current node// Clon ... nt node   rule.append( decl.clone() );//   ru ... ne() ); You can override properties while cloning:// You  ... loning:   rule.append( decl.clone({ value: '0' }) );//   ru ... ' }) ); Clone node and insert clone before current one.// Clon ... nt one. It accept properties to change in clone and return new node.// It a ... w node.   decl.cloneBefore({ prop: '-webkit-' + del.prop });//   de ... rop }); Clone node and insert clone after current one.   decl.cloneAfter({ value: convertToRem(decl.value) });//   de ... ue) }); Replace with node by another one.// Repl ... er one.   decl.replaceWith(fixedDecl);//   de ... dDecl); Remove node from current place and put to end of new one.// Remo ... ew one. It will also clean node code styles, but will keep `between` if old// It w ...  if old parent and new parent has same root.// pare ... e root.   rule.moveTo(atRule);//   ru ... tRule); Remove node from current place and put to before other node.   rule.moveBefore(rule.parent);//   ru ... arent); Remove node from current place and put to after other node.   rule.moveAfter(rule.parent); Return next node in parent. If current node is last one,// Retu ... st one, method will return `undefined`.// meth ... fined`.   var next = decl.next();//   va ... next();   if ( next && next.prop == removePrefix(decl.prop) ) {//   if ... op) ) {       decl.removeSelf();//      ... Self(); Return previous node in parent. If current node is first one,   var prev = decl.prev();//   va ... prev();   if ( prev && removePrefix(prev.prop) == decl.prop) ) {       prev.removeSelf(); Remove `parent` node on cloning to fix circular structures// Remo ... uctures Copy code style from first node with same type// Copy ... me type Already had// Already had Hack for first rule in CSS// Hack ...  in CSS Floating child without parent// Floa ...  parent Detect style by other nodes// Dete ... r nodes Return top parent , parent of parents.// Retu ... arents. Recursivelly remove all code style properties (`before` and `between`).// Recu ... ween`). Use raw value if origin was not changed// Use  ... changed CSS parser// CSS parser Helpers// Helpers List of functions to process CSS// List ... ess CSS Add function as PostCSS plugins// Add  ... plugins Process CSS throw installed plugins// Proc ... plugins Return plugin function// Retu ... unction Framework for CSS postprocessors// Fram ... cessors   var processor = postcss(function (css) {//   va ... (css) {       // Change nodes in css//      ...  in css   processor.process(css)//   pr ... ss(css) Compile CSS to nodes// Comp ... o nodes Nodes shortcuts// Nodes shortcuts Detect previous map// Dete ... ous map Return SourceMapConsumer object to read map// Retu ... ead map Is map has sources content// Is m ... content Is `string` is starting with `start`// Is ` ... `start` Load for annotation comment from previous compilation step// Load ... on step Encode different type of inline// Enco ...  inline Load previous map// Load previous map Object with processed CSS// Obje ... sed CSS Return CSS string on any try to print// Retu ... o print Generate CSS and map// Gene ... and map Lazy method to return source map// Lazy ... rce map Lazy method to return CSS string// Lazy ...  string Root of CSS// Root of CSS Fix space when we remove first child// Fix  ... t child Fix spaces on insert before first rule// Fix  ... st rule Stringify styles// Stringify styles Generate processing result with optional source map// Gene ... rce map CSS rule like �a { }�// CSS  ... \ufffda { }\ufffd Stringify rule// Stringify rule Shortcut to get selectors as array// Shor ... s array Methods to work with vendor prefixes// Meth ... refixes Return vendor prefix from property name, if it exists// Retu ...  exists   vendor.prefix('-moz-box-sizing') #=> '-moz-'//   ve ... '-moz-'   vendor.prefix('box-sizing')      #=> ''//   ve ...  #=> '' Remove prefix from property name// Remo ... ty name   vendor.prefix('-moz-box-sizing') #=> 'box-sizing'//   ve ... sizing'   vendor.prefix('box-sizing')      #=> 'box-sizing'
 * $Id: base64.js,v 2.15 2014/04/05 12:58:57 dankogai Exp dankogai $
 *
 *  Licensed under the MIT license.
 *    http://opensource.org/licenses/mit-license
 *
 *  References:
 *    http://en.wikipedia.org/wiki/Base64
 /*\n * $ ... e64\n */ existing version for noConflict()// exis ... flict() if node.js, we use Buffer// if n ...  Buffer constants// constants encoder stuff// encoder stuff decoder stuff// decoder stuff export Base64// export Base64 if ES5 is available, make Base64.extendString() available// if E ... ailable that's it!// that's it! for normal export in Meteor.js// for  ... teor.js
 * Copyright 2009-2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE.txt or:
 * http://opensource.org/licenses/BSD-3-Clause
 /*\n * C ... use\n */ -*- Mode: js; js-indent-level: 2; -*- /* -*-  ...  -*- */
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 
   * A data structure which is a combination of an array and a set. Adding a new
   * member is O(1), testing for membership is O(1), and finding the index of an
   * element is O(1). Removing elements from the set is not supported. Only
   * strings are supported for membership.
   /**\n    ... .\n   */
   * Static method for creating ArraySet instances from an existing array.
   
   * Add the given string to this set.
   *
   * @param String aStr
   /**\n    ... r\n   */
   * Is the given string a member of this set?
   *
   * @param String aStr
   
   * What is the index of the given string in the array?
   *
   * @param String aStr
   
   * What is the element at the given index?
   *
   * @param Number aIdx
   /**\n    ... x\n   */
   * Returns the array representation of this set (which has the proper indices
   * indicated by indexOf). Note that this is a copy of the internal array used
   * for storing the members so that no one can mess with internal state.
   
 * Copyright 2011 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 *
 * Based on the Base 64 VLQ implementation in Closure Compiler:
 * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
 *
 * Copyright 2011 The Closure Compiler Authors. All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above
 *    copyright notice, this list of conditions and the following
 *    disclaimer in the documentation and/or other materials provided
 *    with the distribution.
 *  * Neither the name of Google Inc. nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 /*\n * C ... GE.\n */ A single base 64 digit can contain 6 bits of data. For the base 64 variable// A si ... ariable length quantities we use in the source map spec, the first bit is the sign,// leng ... e sign, the next four bits are the actual value, and the 6th bit is the// the  ...  is the continuation bit. The continuation bit tells us whether there are more// cont ... re more digits in this value following this digit.// digi ...  digit.   Continuation//   Continuation   |    Sign//   |    Sign   |    |//   |    |   V    V//   V    V   101011//   101011 binary: 100000// binary: 100000 binary: 011111// binary: 011111
   * Converts from a two-complement value to a value where the sign bit is
   * placed in the least significant bit.  For example, as decimals:
   *   1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
   *   2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
   /**\n    ... )\n   */
   * Converts to a two-complement value from a value where the sign bit is
   * placed in the least significant bit.  For example, as decimals:
   *   2 (10 binary) becomes 1, 3 (11 binary) becomes -1
   *   4 (100 binary) becomes 2, 5 (101 binary) becomes -2
   /**\n    ... 2\n   */
   * Returns the base 64 VLQ encoded value.
    There are still more digits in this value, so we must make sure the// Ther ... ure the continuation bit is marked.// cont ... marked.
   * Decodes the next base 64 VLQ value from the given string and returns the
   * value and the rest of the string via the out parameter.
   
   * Encode an integer in the range of 0 to 63 to a single base 64 digit.
   
   * Decode a single base 64 digit to an integer.
   
   * A BasicSourceMapConsumer instance represents a parsed source map which we can
   * query for information about the original file positions by giving it a file
   * position in the generated source.
   *
   * The only parameter is the raw source map (either as a JSON string, or
   * already parsed to an object). According to the spec, source maps have the
   * following attributes:
   *
   *   - version: Which version of the source map spec this map is following.
   *   - sources: An array of URLs to the original source files.
   *   - names: An array of identifiers which can be referrenced by individual mappings.
   *   - sourceRoot: Optional. The URL root from which all sources are relative.
   *   - sourcesContent: Optional. An array of contents of the original source files.
   *   - mappings: A string of base64 VLQs which contain the actual mappings.
   *   - file: Optional. The generated file this source map is associated with.
   *
   * Here is an example source map, taken from the source map spec[0]:
   *
   *     {
   *       version : 3,
   *       file: "out.js",
   *       sourceRoot : "",
   *       sources: ["foo.js", "bar.js"],
   *       names: ["src", "maps", "are", "fun"],
   *       mappings: "AA,AB;;ABCDE;"
   *     }
   *
   * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#
   /**\n    ... #\n   */ Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which// Sass ...  (which requires the array) to play nice here.// requ ... e here. Once again, Sass deviates from the spec and supplies the version as a// Once ... on as a string rather than a number, so we use loose equality checking here.// stri ... g here. Some source maps produce relative source paths like "./foo.js" instead of// Some ... tead of "foo.js".  Normalize these first so that future comparisons will succeed.// "foo ... ucceed. See bugzil.la/1090768.// See  ... 090768. Pass `true` below to allow duplicate names and sources. While source maps// Pass ... ce maps are intended to be compressed and deduplicated, the TypeScript compiler// are  ... ompiler sometimes generates source maps with duplicates in them. See Github issue// some ... b issue #72 and bugzil.la/889492.// #72  ... 889492.
   * Create a BasicSourceMapConsumer from a SourceMapGenerator.
   *
   * @param SourceMapGenerator aSourceMap
   *        The source map that will be consumed.
   * @returns BasicSourceMapConsumer
   
   * The version of the source mapping spec that we are consuming.
   
   * The list of original sources.
   
   * Parse the mappings in a string in to a data structure which we can easily
   * query (the ordered arrays in the `this.__generatedMappings` and
   * `this.__originalMappings` properties).
    Generated column.// Generated column. Original source.// Original source. Original line.// Original line. Lines are stored 0-based// Line ... 0-based Original column.// Original column. Original name.// Original name.
   * Find the mapping that best matches the hypothetical "needle" mapping that
   * we are searching for in the given "haystack" of mappings.
    To return the position we are searching for, we must first find the// To r ... ind the mapping for the given position and then return the opposite position it// mapp ... tion it points to. Because the mappings are sorted, we can use binary search to// poin ... arch to find the best mapping.// find ... apping.
   * Compute the last column for each generated mapping. The last column is
   * inclusive.
    Mappings do not contain a field for the last generated columnt. We// Mapp ... mnt. We can come up with an optimistic estimate, however, by assuming that// can  ... ng that mappings are contiguous (i.e. given two consecutive mappings, the// mapp ... gs, the first mapping ends where the second one starts).// firs ... tarts). The last mapping for each line spans the entire line.// The  ... e line.
   * Returns the original source, line, and column information for the generated
   * source's line and column positions provided. The only argument is an object
   * with the following properties:
   *
   *   - line: The line number in the generated source.
   *   - column: The column number in the generated source.
   *
   * and an object is returned with the following properties:
   *
   *   - source: The original source file, or null.
   *   - line: The line number in the original source, or null.
   *   - column: The column number in the original source, or null.
   *   - name: The original identifier, or null.
   
   * Returns the original source content. The only argument is the url of the
   * original source file. Returns null if no original source content is
   * availible.
    XXX: file:// URIs and absolute paths lead to unexpected behavior for// XXX: ... ior for many users. We can help them out when they expect file:// URIs to// many ... URIs to behave like it would if they were running a local HTTP server. See// beha ... er. See https://bugzilla.mozilla.org/show_bug.cgi?id=885597.// http ... 885597. This function is used recursively from// This ... ly from IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we// Inde ... ase, we don't want to throw if we can't find the source - we just want to// don' ... want to return null, so we provide a flag to exit gracefully.// retu ... efully.
   * Returns the generated line and column information for the original source,
   * line, and column positions provided. The only argument is an object with
   * the following properties:
   *
   *   - source: The filename of the original source.
   *   - line: The line number in the original source.
   *   - column: The column number in the original source.
   *
   * and an object is returned with the following properties:
   *
   *   - line: The line number in the generated source, or null.
   *   - column: The column number in the generated source, or null.
   
   * Recursive implementation of binary search.
   *
   * @param aLow Indices here and lower do not contain the needle.
   * @param aHigh Indices here and higher do not contain the needle.
   * @param aNeedle The element being searched for.
   * @param aHaystack The non-empty array being searched.
   * @param aCompare Function which takes two elements and returns -1, 0, or 1.
    This function terminates when one of the following is true:// This ... s true:   1. We find the exact element we are looking for.//   1. ... ng for.   2. We did not find the exact element, but we can return the index of//   2. ... ndex of      the next closest element that is less than that element.//      ... lement.   3. We did not find the exact element, and there is no next-closest//   3. ... closest      element which is less than the one we are searching for, so we//      ... , so we      return -1.//      return -1. Found the element we are looking for.// Foun ... ng for. aHaystack[mid] is greater than our needle.// aHay ... needle. The element is in the upper half.// The  ... r half. We did not find an exact match, return the next closest one// We d ... est one (termination case 2).// (ter ... ase 2). aHaystack[mid] is less than our needle. The element is in the lower half. The exact needle element was not found in this haystack. Determine if// The  ... mine if we are in termination case (2) or (3) and return the appropriate thing.// we a ...  thing.
   * This is an implementation of binary search which will always try and return
   * the index of next lowest value checked if there is no exact hit. This is
   * because mappings between original and generated line/col pairs are single
   * points, and there is an implicit region between each of them, so a miss
   * just means that you aren't on the very start of a region.
   *
   * @param aNeedle The element you are looking for.
   * @param aHaystack The array that is being searched.
   * @param aCompare A function which takes the needle and an element in the
   *     array and returns -1, 0, or 1 depending on whether the needle is less
   *     than, equal to, or greater than the element, respectively.
   
   * An IndexedSourceMapConsumer instance represents a parsed source map which
   * we can query for information. It differs from BasicSourceMapConsumer in
   * that it takes "indexed" source maps (i.e. ones with a "sections" field) as
   * input.
   *
   * The only parameter is a raw source map (either as a JSON string, or already
   * parsed to an object). According to the spec for indexed source maps, they
   * have the following attributes:
   *
   *   - version: Which version of the source map spec this map is following.
   *   - file: Optional. The generated file this source map is associated with.
   *   - sections: A list of section definitions.
   *
   * Each value under the "sections" field has two fields:
   *   - offset: The offset into the original specified at which this section
   *       begins to apply, defined as an object with a "line" and "column"
   *       field.
   *   - map: A source map definition. This source map could also be indexed,
   *       but doesn't have to be.
   *
   * Instead of the "map" field, it's also possible to have a "url" field
   * specifying a URL to retrieve a source map from, but that's currently
   * unsupported.
   *
   * Here's an example source map, taken from the source map spec[0], but
   * modified to omit a section which uses the "url" field.
   *
   *  {
   *    version : 3,
   *    file: "app.js",
   *    sections: [{
   *      offset: {line:100, column:10},
   *      map: {
   *        version : 3,
   *        file: "section.js",
   *        sources: ["foo.js", "bar.js"],
   *        names: ["src", "maps", "are", "fun"],
   *        mappings: "AAAA,E;;ABCDE;"
   *      }
   *    }],
   *  }
   *
   * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt
   /**\n    ... t\n   */ The url field will require support for asynchronicity.// The  ... nicity. See https://github.com/mozilla/source-map/issues/16// See  ... sues/16 The offset fields are 0-based, but we use 1-based indices when// The  ... es when encoding/decoding from VLQ.// enco ... om VLQ. Find the section containing the generated position we're trying to map// Find ...  to map to an original position.// to a ... sition.
   * Returns the original source content. The only argument is the url of the
   * original source file. Returns null if no original source content is
   * available.
    Only consider this section if the requested source is in the list of// Only ... list of sources of the consumer.// sour ... nsumer. The mappings coming from the consumer for the section have// The  ... on have generated positions relative to the start of the section, so we// gene ... , so we need to offset them to be relative to the start of the concatenated// need ... tenated generated file.// generated file.
 * Copyright 2014 Mozilla Foundation and contributors
 * Licensed under the New BSD license. See LICENSE or:
 * http://opensource.org/licenses/BSD-3-Clause
 
   * Determine whether mappingB is after mappingA with respect to generated
   * position.
    Optimized for most common case// Opti ... on case
   * A data structure to provide a sorted view of accumulated mappings in a
   * performance conscious manner. It trades a neglibable overhead in general
   * case for a large speedup in case of mappings being added in order.
    Serves as infimum// Serves as infimum
   * Iterate through internal items. This method takes the same arguments that
   * `Array.prototype.forEach` takes.
   *
   * NOTE: The order of the mappings is NOT guaranteed.
   
   * Add the given source mapping.
   *
   * @param Object aMapping
   /**\n    ... g\n   */
   * Returns the flat, sorted array of mappings. The mappings are sorted by
   * generated position.
   *
   * WARNING: This method returns internal data without copying, for
   * performance. The return value must NOT be mutated, and should be treated as
   * an immutable borrow. If you want to take ownership, you must make your own
   * copy.
    We do late requires because the subclasses require() this file.// We d ... s file. `__generatedMappings` and `__originalMappings` are arrays that hold the// `__g ... old the parsed mapping coordinates from the source map's "mappings" attribute. They// pars ... e. They are lazily instantiated, accessed via the `_generatedMappings` and// are  ... gs` and `_originalMappings` getters respectively, and we only parse the mappings// `_or ... appings and create these arrays once queried for a source location. We jump through// and  ... through these hoops because there can be many thousands of mappings, and parsing// thes ... parsing them is expensive, so we only want to do it if we must.// them ... e must. Each object in the arrays is of the form:// Each ... e form:     {//     {       generatedLine: The line number in the generated code,//      ... d code,       generatedColumn: The column number in the generated code,       source: The path to the original source file that generated this//      ... ed this               chunk of code,//      ... f code,       originalLine: The line number in the original source that//      ... ce that                     corresponds to this chunk of generated code,       originalColumn: The column number in the original source that                       corresponds to this chunk of generated code,       name: The name of the original symbol which generated this chunk of//      ... hunk of             code.//             code.     }//     } All properties except for `generatedLine` and `generatedColumn` can be// All  ...  can be `null`.// `null`. `_generatedMappings` is ordered by the generated positions.// `_ge ... itions. `_originalMappings` is ordered by the original positions.// `_or ... itions.
   * Iterate over each mapping between an original source/line/column and a
   * generated line/column in this source map.
   *
   * @param Function aCallback
   *        The function that is called with each mapping.
   * @param Object aContext
   *        Optional. If specified, this object will be the value of `this` every
   *        time that `aCallback` is called.
   * @param aOrder
   *        Either `SourceMapConsumer.GENERATED_ORDER` or
   *        `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to
   *        iterate over the mappings sorted by the generated file's line/column
   *        order or the original's source/line/column order, respectively. Defaults to
   *        `SourceMapConsumer.GENERATED_ORDER`.
   
   * Returns all generated line and column information for the original source
   * and line provided. The only argument is an object with the following
   * properties:
   *
   *   - source: The filename of the original source.
   *   - line: The line number in the original source.
   *
   * and an array of objects is returned, each with the following properties:
   *
   *   - line: The line number in the generated source, or null.
   *   - column: The column number in the generated source, or null.
    When there is no exact match, BasicSourceMapConsumer.prototype._findMapping// When ... Mapping returns the index of the closest mapping less than the needle. By// retu ... dle. By setting needle.originalColumn to Infinity, we thus find the last// sett ... he last mapping for the given line, provided such a mapping exists.// mapp ... exists.
   * An instance of the SourceMapGenerator represents a source map which is
   * being built incrementally. You may pass an object with the following
   * properties:
   *
   *   - file: The filename of the generated source.
   *   - sourceRoot: A root for all relative URLs in this source map.
   
   * Creates a new SourceMapGenerator based on a SourceMapConsumer
   *
   * @param aSourceMapConsumer The SourceMap.
   
   * Add a single mapping from original source line and column to the generated
   * source's line and column for this source map being created. The mapping
   * object should have the following properties:
   *
   *   - generated: An object with the generated line and column positions.
   *   - original: An object with the original line and column positions.
   *   - source: The original source file (relative to the sourceRoot).
   *   - name: An optional original token name for this mapping.
   
   * Set the source content for a source file.
    Add the source content to the _sourcesContents map.// Add  ... ts map. Create a new _sourcesContents map if the property is null.// Crea ... s null. Remove the source file from the _sourcesContents map.// Remo ... ts map. If the _sourcesContents map is empty, set the property to null.// If t ... o null.
   * Applies the mappings of a sub-source-map for a specific source file to the
   * source map being generated. Each mapping to the supplied source file is
   * rewritten using the supplied source map. Note: The resolution for the
   * resulting mappings is the minimium of this map and the supplied map.
   *
   * @param aSourceMapConsumer The source map to be applied.
   * @param aSourceFile Optional. The filename of the source file.
   *        If omitted, SourceMapConsumer's file property will be used.
   * @param aSourceMapPath Optional. The dirname of the path to the source map
   *        to be applied. If relative, it is relative to the SourceMapConsumer.
   *        This parameter is needed when the two source maps aren't in the same
   *        directory, and the source map to be applied contains relative source
   *        paths. If so, those relative source paths need to be rewritten
   *        relative to the SourceMapGenerator.
    If aSourceFile is omitted, we will use the file property of the SourceMap// If a ... urceMap Make "sourceFile" relative if an absolute Url is passed.// Make ... passed. Applying the SourceMap can add and remove items from the sources and// Appl ... ces and the names array.// the names array. Find mappings for the "sourceFile"// Find ... ceFile" Check if it can be mapped by the source map, then update the mapping.// Chec ... apping. Copy mapping// Copy mapping Copy sourcesContents of applied map.// Copy ... ed map.
   * A mapping can have one of the three levels of data:
   *
   *   1. Just the generated position.
   *   2. The Generated position, original position, and original source.
   *   3. Generated and original position, original source, as well as a name
   *      token.
   *
   * To maintain consistency, we validate that any new mapping being added falls
   * in to one of these categories.
    Case 1.// Case 1. Cases 2 and 3.// Cases 2 and 3.
   * Serialize the accumulated mappings in to the stream of base 64 VLQs
   * specified by the source map format.
    lines are stored 0-based in SourceMap spec version 3// line ... rsion 3
   * Externalize the source map.
   
   * Render the source map being generated to a string.
    Matches a Windows-style `\r\n` newline or a `\n` newline used by all other// Matc ... l other operating systems these days (capturing the result).// oper ... esult). Newline character code for charCodeAt() comparisons// Newl ... arisons Private symbol for identifying `SourceNode`s when multiple versions of// Priv ... ions of the source-map library are loaded. This MUST NOT CHANGE across// the  ...  across versions!// versions!
   * SourceNodes provide a way to abstract over interpolating/concatenating
   * snippets of generated JavaScript source code while maintaining the line and
   * column information associated with the original source code.
   *
   * @param aLine The original line number.
   * @param aColumn The original column number.
   * @param aSource The original source's filename.
   * @param aChunks Optional. An array of strings which are snippets of
   *        generated JS, or other SourceNodes.
   * @param aName The original identifier.
   
   * Creates a SourceNode from generated code and a SourceMapConsumer.
   *
   * @param aGeneratedCode The generated code
   * @param aSourceMapConsumer The SourceMap for the generated code
   * @param aRelativePath Optional. The path that relative sources in the
   *        SourceMapConsumer should be relative to.
    The SourceNode we want to fill with the generated code// The  ... ed code and the SourceMap// and the SourceMap All even indices of this array are one line of the generated code,// All  ... d code, while all odd indices are the newlines between two adjacent lines// whil ... t lines (since `REGEX_NEWLINE` captures its match).// (sin ... match). Processed fragments are removed from this array, by calling `shiftNextLine`.// Proc ... tLine`. The last line of a file might not have a newline.// The  ... ewline. We need to remember the position of "remainingLines"// We n ... gLines" The generate SourceNodes we need a code range.// The  ...  range. To extract it current and last mapping is used.// To e ... s used. Here we store the last mapping.// Here ... apping. We add the code from "lastMapping" to "mapping":// We a ... pping": First check if there is a new line in between.// Firs ... etween. Associate first line with "lastMapping"// Asso ... apping" The remaining code is added without mapping// The  ... mapping There is no new line in between.// Ther ... etween. Associate the code between "lastGeneratedColumn" and// Asso ... mn" and "mapping.generatedColumn" with "lastMapping"// "map ... apping" No more remaining code, continue// No m ... ontinue We add the generated code until the first mapping// We a ... mapping to the SourceNode without any mapping.// to t ... apping. Each line is added as separate string.// Each ... string. We have processed all mappings.// We h ... ppings. Associate the remaining code in the current line with "lastMapping" and add the remaining lines without any mapping// and  ... mapping Copy sourcesContent into SourceNode// Copy ... rceNode
   * Add a chunk of generated JS to this source node.
   *
   * @param aChunk A string snippet of generated JS code, another instance of
   *        SourceNode, or an array where each member is one of those things.
   
   * Add a chunk of generated JS to the beginning of this source node.
   *
   * @param aChunk A string snippet of generated JS code, another instance of
   *        SourceNode, or an array where each member is one of those things.
   
   * Walk over the tree of JS snippets in this node and its children. The
   * walking function is called once for each snippet of JS and is passed that
   * snippet and the its original associated source's line/column location.
   *
   * @param aFn The traversal function.
   
   * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
   * each of `this.children`.
   *
   * @param aSep The separator.
   
   * Call String.prototype.replace on the very right-most source snippet. Useful
   * for trimming whitespace from the end of a source node, etc.
   *
   * @param aPattern The pattern to replace.
   * @param aReplacement The thing to replace the pattern with.
   
   * Set the source content for a source file. This will be added to the SourceMapGenerator
   * in the sourcesContent field.
   *
   * @param aSourceFile The filename of the source file
   * @param aSourceContent The content of the source file
   /**\n    ... e\n   */
   * Walk over the tree of SourceNodes. The walking function is called for each
   * source file content and is passed the filename and source content.
   *
   * @param aFn The traversal function.
   
   * Return the string representation of this source node. Walks over the tree
   * and concatenates all the various snippets together to one string.
   
   * Returns the string representation of this source node along with a source
   * map.
    Mappings end at eol// Mapp ...  at eol
   * This is a helper function for getting values from parameter/options
   * objects.
   *
   * @param args The object we are extracting values from
   * @param name The name of the property we are getting.
   * @param defaultValue An optional value to return if the property is missing
   * from the object. If this is not specified and the property is missing, an
   * error will be thrown.
   
   * Normalizes a path, or the path portion of a URL:
   *
   * - Replaces consequtive slashes with one slash.
   * - Removes unnecessary '.' parts.
   * - Removes unnecessary '<dir>/..' parts.
   *
   * Based on code in the Node.js 'path' core module.
   *
   * @param aPath The path or url to normalize.
    The first part is blank if the path is absolute. Trying to go// The  ... g to go above the root is a no-op. Therefore we can remove all '..' parts// abov ... ' parts directly after the root.// dire ... e root.
   * Joins two paths/URLs.
   *
   * @param aRoot The root path or URL.
   * @param aPath The path or URL to be joined with the root.
   *
   * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
   *   scheme-relative URL: Then the scheme of aRoot, if any, is prepended
   *   first.
   * - Otherwise aPath is a path. If aRoot is a URL, then its path portion
   *   is updated with the result and aRoot is returned. Otherwise the result
   *   is returned.
   *   - If aPath is absolute, the result is aPath.
   *   - Otherwise the two paths are joined with a slash.
   * - Joining for example 'http://' and 'www.example.com' is also supported.
    `join(foo, '//www.example.org')`// `joi ... .org')` `join('http://', 'www.example.com')`// `joi ... .com')`
   * Make a path relative to a URL or another path.
   *
   * @param aRoot The root path or URL.
   * @param aPath The path or URL to be made relative to aRoot.
    XXX: It is possible to remove this block, and the tests still pass!// XXX: ... l pass!
   * Because behavior goes wacky when you set `__proto__` on objects, we
   * have to prefix all the strings in our set with an arbitrary character.
   *
   * See https://github.com/mozilla/source-map/pull/31 and
   * https://github.com/mozilla/source-map/issues/30
   *
   * @param String aStr
   
   * Comparator between two mappings where the original positions are compared.
   *
   * Optionally pass in `true` as `onlyCompareGenerated` to consider two
   * mappings with the same original source/line/column, but different generated
   * line and column the same. Useful when searching for a mapping with a
   * stubbed out mapping.
   
   * Comparator between two mappings where the generated positions are
   * compared.
   *
   * Optionally pass in `true` as `onlyCompareGenerated` to consider two
   * mappings with the same generated line and column, but different
   * source/name/original line and column the same. Useful when searching for a
   * mapping with a stubbed out mapping.
    vim: et:ts=4:sw=4:sts=4
 * @license amdefine 0.1.0 Copyright (c) 2011, The Dojo Foundation All Rights Reserved.
 * Available via the MIT or new BSD license.
 * see: http://github.com/jrburke/amdefine for details
 /** vim ... ils\n */jslint node: true global module, process /*globa ... cess */
 * Creates a define for node.
 * @param {Object} module the "module" object that is defined by Node for the
 * current module.
 * @param {Function} [requireFn]. Node's require function for the current module.
 * It only needs to be passed in Node versions before 0.5, when module.require
 * did not exist.
 * @returns {Function} a define function that is usable for the current node
 * module.
 /**\n *  ... le.\n */
     * Trims the . and .. from an array of path segments.
     * It will keep a leading path segment if a .. will become
     * the first path segment, to help with module name lookups,
     * which act like paths, but can be remapped. But the end result,
     * all paths that use this function should look normalized.
     * NOTE: this method MODIFIES the input array.
     * @param {Array} ary the array of path segments.
     /**\n    ...      */End of the line. Keep at least one non-dot//End o ... non-dotpath segment at the front so it can be mapped//path  ...  mappedcorrectly to disk. Otherwise, there is likely//corre ...  likelyno path mapping for a path starting with '..'.//no pa ... h '..'.This can still fail, but catches the most reasonable//This  ... sonableuses of ..//uses of ..Adjust any relative paths.//Adjus ...  paths.If have a base name, try to normalize against it,//If ha ... nst it,otherwise, assume it is a top-level require that will//other ... at willbe relative to baseUrl in the end.//be re ... he end.
     * Create the normalize() function passed to a loader plugin's
     * normalize method.
     This one is difficult because the text can/probably uses//This  ... ly usesdefine, and any relative paths and requires should be relative//defin ... elativeto that id was it would be found on disk. But this would require//to th ... requirebootstrapping a module/require fairly deeply from node core.//boots ... e core.Not sure how best to go about that yet.//Not s ... at yet.Synchronous, single module require('')//Synch ... ire('')Array of dependencies with a callback.//Array ... llback.Convert the dependencies to modules.//Conve ... odules.Wait for next tick to call back the require call.//Wait  ... e call.Favor explicit value, passed in if the module wants to support Node 0.4.//Favor ... de 0.4.Only support one define call per file//Only  ... er fileUse the real variables from node//Use t ... om nodeUse module.exports for exports, since//Use m ... , sincethe exports in here is amdefine exports.//the e ... xports.If there are dependencies, they are strings, so need//If th ... so needto convert them to dependency values.//to co ... values.Call the factory with the right dependencies.//Call  ... encies.Split the ID by a ! so that//Split ... so thatStraight module lookup. If it is one of the special dependencies,//Strai ... encies,deal with it, otherwise, delegate to node.//deal  ... o node.There is a plugin in play.//There ... n play.Normalize the ID normally.//Norma ... rmally.Create a define function specific to the module asking for amdefine.//Creat ... define.Set up properties for this module. If an ID, then use//Set u ... hen useinternal cache. If no ID, then use the external variables//inter ... riablesfor this node module.//for t ... module.Put the module in deep freeze until there is a//Put t ... re is arequire call for it.//requi ... for it.define.require, which has access to all the values in the//defin ...  in thecache. Useful for AMD modules that all have IDs in the file,//cache ... e file,but need to finally export a value to node based on one of those//but n ... f thoseIDs.//IDs."object""Cannot find module '""'""MODULE_NOT_FOUND"AutoprefixerBrowsersPrefixesbrowserslistinfoCachepostcssme'browserslist''postcss''./browsers''./prefixes''[object Object]'reqs<='object''caniuse-db/data'agentsprefixes'../data/prefixes'reqs1options1processor'./info'defaultsloadDefaultdefaultCache"../data/prefixes""./browsers""./info"37"./prefixes"41"browserslist"55"caniuse-db/data"56"postcss"107crispedgesflexboxgradientslogicalPropsresolutionneedref1/\sx($|\s)/resultsresults1'caniuse-db/features-json/border-radius''border-radius''border-top-left-radius''border-top-right-radius''border-bottom-right-radius''border-bottom-left-radius'mistakes'-ms-''-o-''caniuse-db/features-json/css-boxshadow''box-shadow''caniuse-db/features-json/css-animation''animation''animation-name''animation-duration''animation-delay''animation-direction''animation-fill-mode''animation-iteration-count''animation-play-state''animation-timing-function''@keyframes''caniuse-db/features-json/css-transitions''transition''transition-property''transition-duration''transition-delay''transition-timing-function''caniuse-db/features-json/transforms2d''transform''transform-origin''caniuse-db/features-json/transforms3d''perspective''perspective-origin''transform-style''backface-visibility''caniuse-db/features-json/css-gradients'/y\sx/'linear-gradient''repeating-linear-gradient''radial-gradient''repeating-radial-gradient''background''background-image''border-image''list-style''list-style-image''content''mask-image''mask'/a\sx//op/" old"'caniuse-db/features-json/css3-boxsizing''box-sizing''caniuse-db/features-json/css-filters''filter''caniuse-db/features-json/multicolumn''columns''column-width''column-gap''column-rule''column-rule-color''column-rule-width''column-count''column-rule-style''column-span''column-fill''break-before''break-after''break-inside''caniuse-db/features-json/user-select-none''user-select''caniuse-db/features-json/flexbox'/ie|firefox/" 2009"'display-flex''inline-flex''display''flex''flex-grow''flex-shrink''flex-basis''flex-direction''flex-wrap''flex-flow''justify-content''order''align-items''align-self''align-content''caniuse-db/features-json/calc''calc''caniuse-db/features-json/background-img-opts''background-clip''background-origin''background-size''caniuse-db/features-json/font-feature''font-feature-settings''font-variant-ligatures''font-language-override''font-kerning''caniuse-db/features-json/border-image''caniuse-db/features-json/css-selection''::selection''caniuse-db/features-json/css-placeholder''firefox'' old'':placeholder-shown''::placeholder''caniuse-db/features-json/css-hyphens''hyphens''caniuse-db/features-json/fullscreen'':fullscreen''caniuse-db/features-json/css3-tabsize''tab-size''caniuse-db/features-json/intrinsic-width''max-content''min-content''fit-content''fill-available''min-width''max-width''height''min-height''max-height''caniuse-db/features-json/css3-cursors-newer''zoom-in''zoom-out''cursor''chrome 3''grab''grabbing''firefox 24''firefox 25''firefox 26''caniuse-db/features-json/css-sticky''sticky''position''caniuse-db/features-json/pointer''touch-action''caniuse-db/features-json/text-decoration''text-decoration-style'/y\sx($|\s)/'text-decoration-line''text-decoration-color''caniuse-db/features-json/text-size-adjust''text-size-adjust''caniuse-db/features-json/css-masks''mask-clip''mask-composite''mask-origin''mask-repeat''clip-path''mask-position''mask-size''caniuse-db/features-json/css-boxdecorationbreak'brwsrs'box-decoration-break''caniuse-db/features-json/object-fit''object-fit''object-position''caniuse-db/features-json/css-shapes''shape-margin''shape-outside''shape-image-threshold''caniuse-db/features-json/text-overflow''text-overflow''caniuse-db/features-json/text-emphasis''text-emphasis''caniuse-db/features-json/css-deviceadaptation''@viewport''caniuse-db/features-json/css-media-resolution'/( x($| )|a #3)/'@resolution''caniuse-db/features-json/css-text-align-last''text-align-last''caniuse-db/features-json/css-crisp-edges'/y x/'crisp-edges''image-rendering'/a x #2/'caniuse-db/features-json/css-logical-props''border-inline-start''border-inline-end''margin-inline-start''margin-inline-end''padding-inline-start''padding-inline-end'/x\s#2/'border-block-start''border-block-end''margin-block-start''margin-block-end''padding-block-start''padding-block-end'"caniuse-db/features-json/background-img-opts"57"caniuse-db/features-json/border-image"58"caniuse-db/features-json/border-radius"59"caniuse-db/features-json/calc""caniuse-db/features-json/css-animation"61"caniuse-db/features-json/css-boxdecorationbreak"62"caniuse-db/features-json/css-boxshadow"63"caniuse-db/features-json/css-crisp-edges"64"caniuse-db/features-json/css-deviceadaptation"65"caniuse-db/features-json/css-filters"66"caniuse-db/features-json/css-gradients"67"caniuse-db/features-json/css-hyphens"68"caniuse-db/features-json/css-logical-props"69"caniuse-db/features-json/css-masks"70"caniuse-db/features-json/css-media-resolution"71"caniuse-db/features-json/css-placeholder"72"caniuse-db/features-json/css-selection"73"caniuse-db/features-json/css-shapes"74"caniuse-db/features-json/css-sticky"75"caniuse-db/features-json/css-text-align-last"76"caniuse-db/features-json/css-transitions"77"caniuse-db/features-json/css3-boxsizing"78"caniuse-db/features-json/css3-cursors-newer"79"caniuse-db/features-json/css3-tabsize""caniuse-db/features-json/flexbox"81"caniuse-db/features-json/font-feature"82"caniuse-db/features-json/fullscreen"83"caniuse-db/features-json/intrinsic-width"84"caniuse-db/features-json/multicolumn"85"caniuse-db/features-json/object-fit"86"caniuse-db/features-json/pointer"87"caniuse-db/features-json/text-decoration"88"caniuse-db/features-json/text-emphasis"89"caniuse-db/features-json/text-overflow"90"caniuse-db/features-json/text-size-adjust"91"caniuse-db/features-json/transforms2d"92"caniuse-db/features-json/transforms3d"93"caniuse-db/features-json/user-select-none"94AtRulePrefixerchildhasPropctor__super__'./prefixer'superClassalreadyclonedprefixedparentPrefix"./prefixer"utils'./utils'prefixesCacheuniq"-"withPrefixprefixesRegexp'|'data1requirementscriteriaprefix_exceptions'-'isSelected"./utils"46Declaration'postcss/lib/vendor'declotherPrefixesneedCascade_autoprefixerCascadecascade'before'maxPrefixed_autoprefixerMaxremoveNotecalcBeforediffrestoreBefore"\n"upinsertdownold"postcss/lib/vendor"113AlignContentflexSpec'./flex-spec''../declaration''flex-line-pack'oldValues'flex-end''end''flex-start''start''space-between''justify''space-around''distribute'spec2012'final'"../declaration""./flex-spec"AlignItems'flex-align''box-align'2009AlignSelf'flex-item-align'BackgroundSize'-webkit-''contain''cover'BlockLogical'border-before''border-after''margin-before''margin-after''padding-before''padding-after''-start''-block-start''-before''-block-end''-after'BorderImage/\s+fill(\s)/'$1'BorderRadiushorlen1mozillavertoMozillatoNormal'bottom''right'"border-""-radius""border-radius-"'-moz-'BreakInside'page-break-inside''column-break-inside''avoid-column''avoid-page''avoid''avoid-region'CrispEdgesValue'../value''$1-webkit-optimize-contrast'"../value"47DisplayFlexOldDisplayFlexOldValue'../old-value'unprefixedprefixed1'box''inline-box''flexbox''inline-flexbox'"../old-value"39FillAvailable'$1-moz-available$3''-moz-available'FilterValueOldFilterValue'../utils'editList_this'-webkit-filter'', '"../utils"Filter'alpha(''DXImageTransform.Microsoft''data:image/svg+xml'FlexBasis'flex-preferred-size'FlexDirection'box-direction''box-orient'orient'row''horizontal''vertical''reverse''normal'FlexFlowFlex'flex-positive''box-flex'FlexShrink'flex-negative''-webkit- 2009'FlexValues'$3'26FlexWrap27'postcss/lib/list''auto''1''none'space"postcss/lib/list"10228FullscreenSelector'../selector'':-webkit-full-screen'':-moz-full-screen'":""fullscreen""../selector"4429GradientisDirection/top|left|right|bottom/gi9e9'('')'commanewDirection'-webkit- old'oldWebkitconvertDirectiondirectionsoldDirections'left bottom, left top''right top, left top''left top, left bottom''left top, right top''top right''left bottom, right top''top left''right bottom, left top''right top''right bottom''left top, right bottom''bottom right''bottom left''right top, left bottom''left top''left bottom''to ''px''deg''-corner''-side'oldDirectioncolorStops'-webkit-gradient(linear, 'fixDirectionfixAngle' at 'fixRadialroundFloatfloatdigits450%360"deg"/^to\s+//^(.*\))(\d.*)$/'0%'"from("")""to(""color-stop("", "/\s+at\s+/'linear''radial''-gradient'"-webkit-(""-gradient|gradient\\(\\s*"30ImageRendering'interpolation-mode''-ms-interpolation-mode''nearest-neighbor'31InlineLogical'border-start''border-end''margin-start''margin-end''padding-start''padding-end''-inline'/(margin|padding|border)-(start|end)/'$1-inline-$2'JustifyContent'flex-pack''box-pack'33Order'flex-order''box-ordinal-group'34Placeholderpossible'-moz- old''::-webkit-input-placeholder'':-ms-input-placeholder'':-moz-placeholder'"::""placeholder"35TransformDeclfunctions3d'matrix3d''translate3d''translateZ''scale3d''scaleZ''rotate3d''rotateX''rotateY''rotateZ'keykrameParents'atrule''keyframes'contain3d"("36TransformValuecapitalizeie'IE'ie_mob'IE Mobile'ios_saf'iOS'op_mini'Opera Mini'op_mob'Opera Mobile'and_chr'Chrome for Android'and_ff'Firefox for Android'and_uc'UC for Android'out'  '/^-(.*)-$/gatruleslen2needTransitionref2ref3ref4ref5ref6transitionPropuseTransition"No browsers selected""Browsers:\n"'@'"\nAt-Rules:\n""\nSelectors:\n"transitionProps"  * - can be used in transition\n""\nProperties:\n""\nValues:\n"'\nAwesome! Your browsers don\'t require any vendor prefixes.''\nNow you can remove Autoprefixer from build steps.'38OldSelectorprefix1prefixedsnameRegexpisHacknodesbreak'parent''source''_autoprefixerPrefix''_autoprefixerValues'hackklasshacksoverridesname1prefixes1all1_autoprefixerPrefix'decl''root''rule'':-'/:(-\w+-)/addedProcessorResolutionSupportsdeclsCache'./declaration''./resolution''./processor''./supports''./selector''./at-rule''./value''./hacks/fullscreen''./hacks/placeholder''./hacks/flex''./hacks/order''./hacks/filter''./hacks/flex-flow''./hacks/flex-grow''./hacks/flex-wrap''./hacks/align-self''./hacks/flex-basis''./hacks/align-items''./hacks/flex-shrink''./hacks/break-inside''./hacks/border-image''./hacks/align-content''./hacks/border-radius''./hacks/block-logical''./hacks/inline-logical''./hacks/transform-decl''./hacks/flex-direction''./hacks/image-rendering''./hacks/justify-content''./hacks/background-size''./hacks/gradient''./hacks/crisp-edges''./hacks/flex-values''./hacks/display-flex''./hacks/filter-value''./hacks/fill-available''./hacks/transform-value'preprocesscleanercleanerCachenoteaLengthbLengthlen3len4len5len6olds'@supports'checker>="./at-rule""./declaration""./hacks/align-content""./hacks/align-items""./hacks/align-self""./hacks/background-size""./hacks/block-logical""./hacks/border-image""./hacks/border-radius""./hacks/break-inside""./hacks/crisp-edges""./hacks/display-flex""./hacks/fill-available""./hacks/filter""./hacks/filter-value""./hacks/flex""./hacks/flex-basis""./hacks/flex-direction""./hacks/flex-flow""./hacks/flex-grow""./hacks/flex-shrink""./hacks/flex-values""./hacks/flex-wrap""./hacks/fullscreen""./hacks/gradient""./hacks/image-rendering""./hacks/inline-logical""./hacks/justify-content""./hacks/order""./hacks/placeholder""./hacks/transform-decl""./hacks/transform-value""./processor"42"./resolution"43"./selector""./supports""./value"keyframeseachAtRule'viewport''supports''media''-resolution'eachRuleeachDecl'add'notHackwithHackValuereduceSpaces'remove''-webkit-background-clip''text'_autoprefixerDisabled'comment''autoprefixer: off''autoprefixer: on'partsprevMinn2f'num2fraction'/(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi)/gi/(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi)/iprefixName'--moz-device-pixel-ratio''-device-pixel-ratio'prefixQuerycolon'dpi'96bad'min''max'queriesprocessed'min-resolution''max-resolution'"num2fraction"95'./old-selector'regexpCache/^([^\w]*)/"(^|[^:\"'=])"escapeRegexp"gi"_autoprefixerPrefixeds-="./old-selector"findConditionfindDecl/\(\s*([^\(\):]+)\s*:([^\)]+)//\(\s*([^\(\):]+)\s*:\s*(.+)\s*\)/g/(not\s*)?\(\s*([^\(\):]+)\s*:\s*(.+?(?!\s*or\s*).+?)\s*\)*\s*\)\s*or\s*/givirtual'a{}'_'not''(\\(|\\s)'':'/\(\s*\((.*)\)\s*\)/g'($1)'stringed": "' or 'filtered/[.?*+\^\$\[\]\\(){}|\-]/gword"(^|[\\s,(])(""($|[\\s(,]))"changed/,\s*/'./old-value'propPrefixtrimmed_autoprefixerValues'-pie-'/\s+/'trasition-property''$2'_value"./old-value"4849'base64-js'ieee754'ieee754''is-array'50poolSize8192kMaxLength0x3fffffffrootParentTYPED_ARRAY_SUPPORTfoo'function''number''string''Buffer''must start with number, buffer, array or string''Attempt to allocate Buffer larger than maximum size: 0x'' bytes'>>>=_augment_isBuffer_setisArrayish256'Arguments must be Buffers'switchcase'hex''ascii''binary''base64''raw''ucs2''ucs-2''utf16le''utf-16le'totalLength'list argument must be an Array of Buffers.'posret>>>utf8ToBytesbase64ToBytesloweredCasehexSlicebase64Sliceutf16leSlice'Unknown encoding: ''Argument must be a Buffer'/.{2}/g' ... ''<Buffer ''>'0x7fffffff0x80000000>>=arrayIndexOffoundIndex'val must be string, number or Buffer''.get() is deprecated. Access using array indexes instead.''.set() is deprecated. Access using array indexes instead.'hexWriteremainingstrLen'Invalid hex string'charsWrittenblitBufferasciiToBytesbase64Writeutf16leWriteutf16leToBytesswap'attempt to write outside buffer bounds'_arrfromByteArrayrestmp0x7FdecodeUtf8Char'%'toHexbytesnewBufsliceLencheckOffset'offset is not uint''Trying to access beyond buffer length'mul0x100<<0x10000000x800xff0x80000xFFFF0000checkInt'buffer must be a Buffer instance''value is out of bounds''index out of range'0xFFobjectWriteUInt16littleEndian0xffffobjectWriteUInt320xffffffff>>0x7f0x7fffcheckIEEE754writeFloat3.4028234663852886e+38writeDouble1.7976931348623157E+308target_start'targetStart out of bounds''sourceStart out of bounds''sourceEnd out of bounds'1000'end < start''start out of bounds''end out of bounds'toArrayBuffer'Buffer.toArrayBuffer not supported in this browser'BPINVALID_BASE64_RE/[^+\/0-9A-z\-]/gbase64cleanstringtrim'='/^\s+|\s+$/gleadSurrogate0xD7FF0xE0000xDC000xEF0xBF0xBD0xD8000x100000xDBFF0x8000x60xC00x3F0xC0xE00x2000000x120xF0'Invalid code point'byteArrayhilotoByteArraydst0xFFFD"base64-js""ieee754"51"is-array"'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'ArrPLUS'+'SLASH'/'NUMBERLOWER'a'UPPER'A'PLUS_URL_SAFESLASH_URL_SAFE'_'b64ToByteArrayb64placeHolders'Invalid string. Length must be a multiple of 4'0xFF00000xFF00uint8ToBase64uint8extraBytestemptripletToBase64'=='base64jsisLEmLennByteseLeneMaxeBiasnBitsrt/=|=128'[object Array]'53normalizeArrayallowAboveRoot'..'splitPathRe/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/splitPathresolvedPathresolvedAbsolute'Arguments to path.resolve must be strings'trailingSlash'Arguments to path.join must be strings'fromPartstoPartssamePartsLengthoutputPartsxs'ab''b''_process'"_process"54drainingdrainQueuecurrentQueue'browser'binding'process.binding is not supported''process.chdir is not supported'caniusenormalizeVersionaliasversionAliasesselectionsreadConfigused'Unknown browser query `''`'name2'> 1%''last 2 versions''Firefox ESR''Opera 12.1'major'safari''opera''ios_saf''ie_mob''ie''chrome'aliasesffiosexplorerblackberry'bb'explorermobileoperamini'op_mini'operamobile'op_mob'chromeandroid'and_chr'firefoxandroid'and_ff'byName'Unknown browser 'dirsparseConfig/#[^\n]*/g/\n/lastVersions/^last (\d+) versions?$/ireleasedlastByBrowser/^last (\d+) (\w+) versions?$/iglobalStatistics/^> (\d+\.?\d*)%$/popularitycountryStatistics/^> (\d+\.?\d*)% in (\w\w)$/country'caniuse-db/region-usage-json/'fillUsage/^(\w+) (>=?|<=?)\s*([\d\.]+)/'>=''<''<='esr/^(firefox|ff|fx) esr$/i'firefox 31'direct/^(\w+) ([\d\.]+)$/'.0'/\.0$/'Unknown version '' of 'usage_globalfull"fs""path""eras""e-37""37 versions back""e-36""36 versions back""e-35""35 versions back""e-34""34 versions back""e-33""33 versions back""e-32""32 versions back""e-31""31 versions back""e-30""30 versions back""e-29""29 versions back""e-28""28 versions back""e-27""27 versions back""e-26""26 versions back""e-25""25 versions back""e-24""24 versions back""e-23""23 versions back""e-22""22 versions back""e-21""21 versions back""e-20""20 versions back""e-19""19 versions back""e-18""18 versions back""e-17""17 versions back""e-16""16 versions back""e-15""15 versions back""e-14""14 versions back""e-13""13 versions back""e-12""12 versions back""e-11""11 versions back""e-10""10 versions back""e-9""9 versions back""e-8""8 versions back""e-7""7 versions back""e-6""6 versions back""e-5""5 versions back""e-4""4 versions back""e-3""3 versions back""e-2""2 versions back""e-1""Previous version""e0""Current""e1""Near future""e2""Farther future""e3""3 versions ahead""agents""ie""browser""IE""abbr""prefix""ms""type""desktop""usage_global""5.5"0.009298"6"0.0894521"7""8"2.33264"9"1.63766"10"1.29362"11"7.98188"TP""versions""firefox""Firefox""FF""moz""2"0.019968"3"0.039936"3.5"0.013312"3.6"0.079872"4""5"0.0066560.033280.026624"12"0.046592"13""14""15""16""17""18""19""20""21""22""23""24"0.059904"25""26""27"0.139776"28""29"0.06656"30"0.086528"31"0.69888"32"0.425984"33""34"0.206336"35"1.53088"36"7.70099"37"0.279552"38""39""40""chrome""Chrome""Chr.""webkit"0.0732160.0532480.1198080.7720960.199680.2129920.432640.8519681.031680.5391361.2180510.4832"41"17.3056"42"0.146432"43"0.126464"44""safari""Safari""Saf.""3.1""3.2"0.008692"5.1"0.339456"6.1"0.672256"7.1"0.798721.45101"opera""Opera""Op."0.0082"9.5-9.6"0.00685"10.0-10.1""10.5"0.008392"10.6"0.0072960.014996"11.1""11.5""11.6""12.1"0.0065970.0134340.0067020.2462720.472576"prefix_exceptions""o""ios_saf""iOS Safari""iOS""mobile""4.0-4.1""4.2-4.3""5.0-5.1"0.0312766"6.0-6.1"0.0789023"7.0-7.1"1.247510.250213"8.1-8.3"5.46132"op_mini""Opera Mini""O.Mini""5.0-8.0"2.79094"android""Android Browser""And.""2.1""2.2""2.3"0.1067460.236609"4.1"0.8179331.41761"4.4"2.42932"4.4.3-4.4.4"1.17149"op_mob""Opera Mobile""O.Mob"0.0007119760.00284790.0177994"bb""Blackberry Browser""BB"0.082764"and_chr""Chrome for Android""Chr/And."10.9596"and_ff""Firefox for Android""FF/And."0.13376"ie_mob""IE Mobile""IE.Mob"0.2026020.50967"and_uc""UC Browser for Android""UC""9.9"4.25022"statuses""rec""W3C Recommendation""pr""W3C Proposed Recommendation""cr""W3C Candidate Recommendation""wd""W3C Working Draft""ls""WHATWG Living Standard""other""Other""unoff""Unofficial / Note""cats""CSS""CSS2""CSS3""HTML5""Canvas""JS API""PNG""DOM""SVG""updated"1429298471"data""png-alpha""title""PNG alpha transparency""description""Semi-transparent areas in PNG files""spec""http://www.w3.org/TR/PNG/""status""links""url""http://en.wikipedia.org/wiki/Portable_Network_Graphics""Wikipedia""http://dillerdesign.com/experiment/DD_belatedPNG/""Workaround for IE6""categories""stats""n""p""y""notes""IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.""notes_by_num""usage_perc_y"97.16"usage_perc_a""ucprefix""parent""keywords""ie_id""chrome_id""apng""Animated PNG (APNG)""Like animated GIFs, but allowing 24-bit colors and alpha transparency""https://wiki.mozilla.org/APNG_Specification""http://en.wikipedia.org/wiki/APNG""https://github.com/davidmz/apng-canvas""Polyfill using canvas""https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp""Chrome extension providing support""Where support for APNG is missing, only the first frame is displayed"19.88"video""Video element""Method of playing videos on webpages (without requiring a plug-in).""https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-element""https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/""Detailed article on video/audio elements""http://webmproject.org""WebM format information""http://camendesign.co.uk/code/video_for_everybody""Video for Everybody""http://diveintohtml5.info/video.html""Video on the Web - includes info on Android support""https://raw.github.com/phiggins42/has.js/master/detect/video.js#video""has.js test""http://docs.webplatform.org/wiki/html/elements/video""WebPlatform Docs""Different browsers have support for different video formats, see sub-features for details. \r\n\r\nThe Android browser (before 2.3) requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to run the video element."91.84"<video>""audio""Audio element""Method of playing sound on webpages (without requiring a plug-in).""https://html.spec.whatwg.org/multipage/embedded-content.html#the-audio-element""http://html5doctor.com/native-audio-in-the-browser/""HTML5 Doctor article""http://www.jplayer.org/latest/demos/""Demos of audio player that uses the audio element""http://24ways.org/2010/the-state-of-html5-audio""Detailed article on support""http://textopia.org/androidsoundformats.html""File format test page""http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio""The State of HTML5 Audio""https://raw.github.com/phiggins42/has.js/master/detect/audio.js#audio""http://docs.webplatform.org/wiki/html/elements/audio"0.03"<audio>""contenteditable""contenteditable attribute (basic support)""Method of making any HTML element editable.""https://html.spec.whatwg.org/multipage/interaction.html#contenteditable""http://html5demos.com/contenteditable""Demo page""https://blog.whatwg.org/the-road-to-html-5-contenteditable""WHATWG blog post""http://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-contenteditable-work/""Blog post on usage problems""http://docs.webplatform.org/wiki/html/attributes/contentEditable""This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited."94.30.04"dragndrop""Drag and Drop""Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.""https://html.spec.whatwg.org/multipage/interaction.html#dnd""http://html5doctor.com/native-drag-and-drop/""http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html""Shopping cart demo""http://html5demos.com/drag""Demo with link blocks""http://docs.webplatform.org/wiki/dom/DragEvent""https://github.com/MihaiValentin/setDragImage-IE""Polyfill for setDragImage in IE""http://blog.teamtreehouse.com/implementing-native-drag-and-drop""Implementing Native Drag and Drop""a #1""a #2""`dataTransfer.items` only supported by Chrome.\r\n\r\nCurrently no browser supports the `dropzone` attribute.\r\n\r\nFirefox supports any kind of DOM elements for `.setDragImage`. Chrome must have either an `HTMLImageElement` or any kind of DOM elements attached to the DOM and within the viewport of the browser for `.setDragImage`.""1""Partial support refers to no support for the `dataTransfer.files` or `.types` objects and limited supported formats for `dataTransfer.setData`/`getData`.""Partial support refers to not supporting `.setDragImage`"52.1813.43"draganddrop""internationalization""Internationalization API""Locale-sensitive collation (string comparison), number formatting, and date and time formatting.""http://www.ecma-international.org/ecma-402/1.0/""https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl""MDN reference""http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/""The ECMAScript Internationalization API""u"65.42"Intl,Collator,NumberFormat,DateTimeFormat""ecmascriptinternationalizationapi""queryselector""querySelector/querySelectorAll""Method of accessing DOM elements using CSS selectors""http://www.w3.org/TR/selectors-api/""https://developer.mozilla.org/en/DOM/element.querySelector""MDN article on querySelector""https://developer.mozilla.org/En/DOM/Element.querySelectorAll""MDN article on querySelectorAll""http://cjihrig.com/blog/javascripts-selectors-api/""Blog post""http://docs.webplatform.org/wiki/css/selectors_api/querySelector""Partial support in IE8 is due to being limited to [CSS 2.1 selectors](/#feat=css-sel2). Additionally, it will have trouble with selectors including unrecognized tags (for example HTML5 ones)."94.662.33"query,selectors,selectors api""getelementsbyclassname""getElementsByClassName""Method of accessing DOM elements by class name""http://www.w3.org/TR/dom/#dom-document-getelementsbyclassname""http://www.quirksmode.org/dom/tests/basics.html#getElementsByClassName""Test page""http://docs.webplatform.org/wiki/dom/HTMLElement/getElementsByClassName"94.71"byclassname""forms""HTML5 form features""Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads. Previously known as \"Web forms 2.0\".""https://html.spec.whatwg.org/multipage/forms.html#forms""https://miketaylr.com/code/input-type-attr.html""HTML5 inputs and attribute support page""https://github.com/westonruter/webforms2""Cross-browser JS implementation (based on original spec)"4.5982.89"input,datepicker""html5semantic""New semantic elements""HTML5 offers some new elements, primarily for semantic purposes. The elements include: section, article, aside, header, footer, nav, figure, figcaption, time, mark, main.""https://html.spec.whatwg.org/multipage/semantics.html#sections""https://blog.whatwg.org/supporting-new-elements-in-ie""Workaround for IE""https://blog.whatwg.org/styling-ie-noscript""Alternate workaround""http://oli.jp/2009/html5-structure3/""Article on structural elements""https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-html5-elements""y #1""Partial support refers to missing the default styling. This is easily taken care of by using display:block for all new elements (except time and mark, these should be display:inline anyway). IE11 and older versions of other browsers do not support the <main> element.""Does not include support for the <main> element "91.643.08"offline-apps""Offline web applications""Method of defining web page files to be cached using a cache manifest file, allowing them to work offline on subsequent visits to the page""https://html.spec.whatwg.org/multipage/browsers.html#offline""http://www.sitepoint.com/offline-web-application-tutorial/""Sitepoint tutorial""http://diveintohtml5.info/offline.html""Dive Into HTML5 article""http://hacks.mozilla.org/2010/01/offline-web-applications/""Mozilla Hacks article/demo""http://docs.webplatform.org/wiki/apis/appcache/ApplicationCache"90.2"appcache,app cache,application cache,online""applicationcache""6192449487634432""webworkers""Web Workers""Method of running scripts in the background, isolated from the web page""https://html.spec.whatwg.org/multipage/workers.html""https://developer.mozilla.org/En/Using_web_workers""MDN article""http://nerget.com/rayjs-mt/rayjs.html""Web Worker demo""http://code.google.com/p/ie-web-worker/""Polyfill for IE (single threaded)""http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-web-workers/""Tutorial"87.62"fontface""@font-face Web fonts""Method of displaying fonts downloaded from websites""http://www.w3.org/TR/css3-webfonts/""http://webfonts.info""News and information site""http://en.wikipedia.org/wiki/Web_typography""http://www.css3files.com/font/""Information page""http://docs.webplatform.org/wiki/css/atrules/@font-face""Partial support before IE9 refers to only supporting EOT fonts. Safari for iOS 4.1 and below only supports SVG fonts."91.682.71"font face""eot""EOT - Embedded OpenType fonts""Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the website""http://www.w3.org/Submission/EOT/""http://en.wikipedia.org/wiki/Embedded_OpenType""http://www.microsoft.com/typography/web/embedding/default.aspx""Example pages""Proposal by Microsoft, being considered for W3C standardization."13.42"woff""WOFF - Web Open Font Format""Compressed TrueType/OpenType font that contains information about the font's source.""http://www.w3.org/TR/WOFF/""http://hacks.mozilla.org/2009/10/woff/""Mozilla hacks blog post""Reported to be supported in some modified versions of the Android 4.0 browser."89.03"multibackgrounds""CSS3 Multiple backgrounds""Method of using multiple images as a background""http://www.w3.org/TR/css3-background/""http://www.css3.info/preview/multiple-backgrounds/""Demo & information page""http://www.css3files.com/background/""http://docs.webplatform.org/wiki/css/properties/background-image"94.63"border-image""CSS3 Border images""Method of using images for borders""http://www.w3.org/TR/css3-background/#the-border-image""http://www.css3files.com/border/""http://docs.webplatform.org/wiki/css/properties/border-image""a x""y x""Note that both the `border-style` and `border-width` must be specified (not set to `none` or 0) for border-images to work according to spec, though older implementations may not have this requirement. Partial support refers to supporting the shorthand syntax, but not the individual properties (border-image-source, border-image-slice, etc). "84.646.87"background-img-opts""CSS3 Background-image options""New properties to affect background images, including background-clip, background-origin and background-size""http://www.w3.org/TR/css3-background/#backgrounds""http://www.standardista.com/css3/css3-background-properties""Detailed compatibility tables and demos""https://github.com/louisremi/background-size-polyfill""Polyfill for IE7-8""a #3""a #2 #3""a x #3""Partial support in Opera Mini refers to not supporting background sizing or background attachments. However Opera Mini 7.5 supports background sizing (including cover and contain values).""Partial support in Safari 6 refers to not supporting background sizing offset from edges syntax.""Does not support `background-size` values in the `background` shorthand"87.926.73"css-table""CSS Table display""Method of displaying elements as tables, rows, and cells""http://www.w3.org/TR/CSS21/tables.html""http://www.onenaught.com/posts/201/use-css-displaytable-for-layout""Blog post on usage"97.07"display:table, display: table,table-cell,table-row,table-layout""css-gencontent""CSS Generated content for pseudo-elements""Method of displaying text or images before or after the given element's contents using the ::before and ::after pseudo-elements. All browsers with support also support the `attr()` notation in the `content` property. ""http://www.w3.org/TR/CSS21/generate.html""http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated_content.html""Guide on usage""https://dev.opera.com/articles/view/css-generated-content-techniques/""Dev.Opera article""http://docs.webplatform.org/wiki/css/generated_and_replaced_content""IE8 only supports the single-colon CSS 2.1 syntax (i.e. :pseudo-class). It does not support the double-colon CSS3 syntax (i.e. ::pseudo-element)\r\n\r\nFor content to appear in pseudo-elements, the `content` property must be set (but may be an empty string)."94.74"before,after""css-fixed""CSS position:fixed""Method of keeping an element in a fixed location regardless of scroll position""http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning""http://www.css-101.org/fixed-positioning/05.php""http://bradfrostweb.com/blog/mobile/fixed-position/""Article on mobile support""http://docs.webplatform.org/wiki/css/properties/position""Only works in Android 2.2+ by using the following meta tag: <meta name=\"viewport\" content=\"width=device-width, user-scalable=no\">. \r\n\r\nPartial support in older iOS Safari refers to [buggy behavior](http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/)."92.911.46"hashchange""Hashchange event""Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) ""https://html.spec.whatwg.org/multipage/browsers.html#the-hashchangeevent-interface""https://developer.mozilla.org/en/DOM/window.onhashchange""http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx""MSDN article""http://www.quirksmode.org/dom/events/tests/hashchange.html""Simple demo""http://github.com/3nr1c/jUri.js""Polyfill""http://docs.webplatform.org/wiki/dom/Element/hashchange"94.09"onhashchange,HashChangeEvent""css-sel2""CSS 2.1 selectors""Basic CSS selectors including: `*` (universal selector), `>` (child selector), `:first-child`, `:link`, `:visited`, `:active`, `:hover`, `:focus`, `:lang()`, `+` (adjacent sibling selector), `[attr]`, `[attr=\"val\"]`, `[attr~=\"val\"]`, `[attr|=\"bar\"]`, `.foo` (class selector), `#foo` (id selector)""http://www.w3.org/TR/CSS21/selector.html""http://www.quirksmode.org/css/contents.html""Detailed support information""http://www.yourhtmlsource.com/stylesheets/advancedselectors.html""Examples of advanced selectors""http://selectivizr.com""Selectivizr: Polyfill for IE6-8""http://docs.webplatform.org/wiki/css/selectors""css-sel3""CSS3 selectors""Advanced element selection using selectors including: `[foo^=\"bar\"]`, `[foo$=\"bar\"]`, `[foo*=\"bar\"]`, `:root`, `:nth-child()`,  `:nth-last-child()`, `nth-of-type`, `nth-last-of-type()`, `:last-child`, `:first-of-type`, `:last-of-type`, `:only-child`, `:only-of-type`, `:empty`, `:target`, `:enabled`, `:disabled`, `:checked`, `:not()`, `~` (general sibling)""http://www.w3.org/TR/css3-selectors/""http://www.quirksmode.org/css/selectors/""http://www.css3.info/selectors-test/""Automated CSS3 selector test""IE7 and IE8 support only these CSS3 selectors: General siblings (`element1~element2`) and Attribute selectors `[attr^=val]`, `[attr$=val]`, and `[attr*=val]`"94.672.42"css-textshadow""CSS3 Text-shadow""Method of applying one or more shadow or blur effects to text""http://www.w3.org/TR/css-text-decor-3/#text-shadow-property""http://hacks.mozilla.org/2009/06/text-shadow/""Mozilla hacks article""http://ie.microsoft.com/testdrive/Graphics/hands-on-css3/hands-on_text-shadow.htm""Live editor""http://www.css3files.com/shadow/#textshadow""http://docs.webplatform.org/wiki/css/properties/text-shadow""Opera Mini ignores the blur-radius set, so no blur effect is visible. Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard \"dropshadow\" or \"glow\" filters. \r\n\r\nPartial support in Safari 3.* refers to not supporting multiple shadows.""IE 10+ supports a fourth length value for the shadow's \"spread\". This is not (yet) part of the specification. "90.152.88"text shadow""css-boxshadow""CSS3 Box-shadow""Method of displaying an inner or outer shadow effect to elements""http://www.w3.org/TR/css3-background/#box-shadow""https://developer.mozilla.org/En/CSS/-moz-box-shadow""http://westciv.com/tools/boxshadows/index.html""http://tests.themasta.com/blogstuff/boxshadowdemo.html""Demo of various effects""http://www.css3files.com/shadow/""http://docs.webplatform.org/wiki/css/properties/box-shadow""Can be partially emulated in older IE versions using the non-standard \"shadow\" filter. Partial support in Safari, iOS Safari and Android Browser refers to missing \"inset\", blur radius value, and multiple shadow support."0.17"box-shadows,boxshadows,box shadow,shaow""css3-colors""CSS3 Colors""Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla().""http://www.w3.org/TR/css3-color/""https://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/""http://www.css3files.com/color/""http://docs.webplatform.org/wiki/css/color#RGBA_Notation"94.7"rgb,hsl,rgba,hsla""css3-boxsizing""CSS3 Box-sizing""Method of specifying whether or not an element's borders and padding should be included in size units""http://www.w3.org/TR/css3-ui/#box-sizing""https://developer.mozilla.org/En/CSS/Box-sizing""http://www.456bereastreet.com/archive/201104/controlling_width_with_css3_box-sizing/""https://github.com/Schepp/box-sizing-polyfill""Polyfill for IE""http://css-tricks.com/box-sizing/""CSS Tricks""http://docs.webplatform.org/wiki/css/properties/box-sizing""Partial support refers to supporting only the `content-box` and `border-box` values, not `padding-box` (which was added to the spec later)."12.484.66"border-box,content-box,padding-box""css-mediaqueries""CSS3 Media Queries""Method of applying styles based on media information. Includes things like page and device dimensions""http://www.w3.org/TR/css3-mediaqueries/""http://ie.microsoft.com/testdrive/HTML5/85CSS3_MediaQueries/""IE demo page with information""http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-queries""Media Queries tutorial""https://github.com/scottjehl/Respond""http://docs.webplatform.org/wiki/css/atrules/@media""Incomplete support by older webkit browsers refers to only acknowledging different media rules on page reload"0.01"@media""multicolumn""CSS3 Multiple column layout""Method of flowing information in multiple columns""http://www.w3.org/TR/css3-multicol/""https://dev.opera.com/articles/view/css3-multi-column-layout/""http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/an-introduction-to-the-css3-multiple-column-layout-module/""Introduction page""http://docs.webplatform.org/wiki/css/properties/column-width""https://github.com/BetleyWhitehorne/CSS3MultiColumn""Partial support refers to not supporting the `break-before`, `break-after`, `break-inside` properties. Webkit browsers do have equivalent support for the non-standard `-webkit-column-break-*` properties while Firefox supports `page-break-*` to accomplish the same result (but only the `auto` and `always' values)."13.0679.98"column-count""multicolumnfullsupport""6526151266664448""border-radius""CSS3 Border-radius (rounded corners)""Method of making the border corners round""http://www.w3.org/TR/css3-background/#the-border-radius""http://border-radius.com""Border-radius CSS Generator""http://muddledramblings.com/table-of-css3-border-radius-compliance""Detailed compliance table""http://www.css3files.com/border/#borderradius""http://css3pie.com/""Polyfill which includes border-radius""http://docs.webplatform.org/wiki/css/properties/border-radius""Safari 6.1 and earlier did not apply `border-radius` correctly to image borders: http://stackoverflow.com/q/17202128"91.890.02"roundedcorners, border radius,-moz-border-radius""transforms2d""CSS3 Transforms""Method of transforming an element including rotating, scaling, etc.""http://www.w3.org/TR/css3-2d-transforms/""http://www.westciv.com/tools/transforms/""https://developer.mozilla.org/en/CSS/-moz-transform""http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/""Workaround script for IE""http://www.css3files.com/transform/""http://www.useragentman.com/IETransformsTranslator/""Converter for IE""https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform""http://docs.webplatform.org/wiki/css/transforms/transform""The scale transform can be emulated in IE < 9 using Microsoft's \"zoom\" extension, others are (not easily) possible using the MS Matrix filter"91.85"transformation,translate,rotation,rotate,scale,css-transforms""transforms""6437640580628480""use-strict""ECMAScript 5 Strict Mode""Method of placing code in a \"strict\" operating context.""http://ecma-international.org/ecma-262/5.1/#sec-14.1""http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/""http://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/""Article with test suite""Partial support in older Safari refers to strict mode still accepting a lot of JS that should be considered invalid."89.250.46"transforms3d""CSS3 3D Transforms""Method of transforming an element in the third dimension using the `transform` property. Includes support for the `perspective` property to set the perspective in z-space and the `backface-visibility` property to toggle display of the reverse side of a 3D-transformed element.""http://www.w3.org/TR/css3-3d-transforms/""http://css3.bradshawenterprises.com/flip/""Multi-browser demo""http://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/""http://thewebrocks.com/demos/3D-css-tester/""3D CSS Tester""http://desandro.github.io/3dtransforms/""Intro to CSS 3D transforms""Partial support in IE refers to not supporting [the transform-style: preserve-3d property](http://msdn.microsoft.com/en-us/library/ie/hh673529%28v=vs.85%29.aspx#the_ms_transform_style_property). This prevents nesting 3D transformed elements."79.459.99"css 3d,3dtransforms,translate3d,backface visibility,perspective""transforms,csstransformspreserve3d""sharedworkers""Shared Web Workers""Method of allowing multiple scripts to communicate with a single web worker.""https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction""http://www.sitepoint.com/javascript-shared-web-workers-html5/""Sitepoint article""http://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared-wrokers/"51.73"shared worker""sharedwebworkers""css-hyphens""CSS Hyphenation""Method of controlling when words at the end of lines should be hyphenated using the \"hyphens\" property.""http://www.w3.org/TR/css3-text/#hyphenation""https://developer.mozilla.org/en/CSS/hyphens""http://blog.fontdeck.com/post/9037028497/hyphens""http://docs.webplatform.org/wiki/css/properties/hyphens""Chrome 29- and Android 4.0 Browser support \"-webkit-hyphens: none\", but not the \"auto\" property. Chrome 30+ doesn't support it either. It is [advisable to set the @lang attribute](http://blog.adrianroselli.com/2015/01/on-use-of-lang-attribute.html) on the HTML element to enable hyphenation support and improve accessibility."32.234.25"hyphen,shy""css-transitions""CSS3 Transitions""Simple method of animating certain properties of an element.""http://www.w3.org/TR/css3-transitions/""http://www.webdesignerdepot.com/2010/01/css-transitions-101/""Article on usage""http://www.css3files.com/transition/""http://www.the-art-of-web.com/css/timing-function/""Examples on timing functions""http://www.opera.com/docs/specs/presto2.12/css/transitions/""Animation of property types support in Opera""http://docs.webplatform.org/wiki/css/properties/transition""Support listed is for `transition` properties as well as the `transitionend` event. The prefixed name in WebKit browsers is `webkitTransitionEnd`"90.12"css transition,transitionend""font-feature""Font feature settings""Method of applying advanced typographic and language-specific font features to supported OpenType fonts.""http://w3.org/TR/css3-fonts/#font-rend-props""http://ie.microsoft.com/testdrive/Graphics/opentype/""Demo pages (IE/Firefox only)""http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/""http://html5accessibility.com/""Detailed tables on accessability support""http://docs.webplatform.org/wiki/css/properties/font-feature-settings""Partial support in older Firefox versions refers to using an older syntax. Partial support in older Chrome versions refers to lacking support in Mac OS X. "74.951.02"font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures""css-animation""CSS3 Animation""Complex method of animating certain properties of an element""http://www.w3.org/TR/css3-animations/""http://robertnyman.com/2010/05/06/css3-animations/""http://www.css3files.com/animation/""http://docs.webplatform.org/wiki/css/properties/animations""Partial support in Android browser refers to buggy behavior in different scenarios."89.920.11"animations,css-animations,keyframe,keyframes""css-gradients""CSS Gradients""Method of defining a linear or radial color gradient as a CSS image.""http://www.w3.org/TR/css3-images/""http://www.colorzilla.com/gradient-editor/""Cross-browser editor""http://www.css3files.com/gradient/""Tool to emulate support in IE""http://docs.webplatform.org/wiki/css/functions/linear-gradient""Syntax used by browsers with prefixed support may be incompatible with that for proper support. \r\n\r\nPartial support in Opera 11.10 and 11.50 also refers to only having support for linear gradients.\r\n\r\nSupport can be somewhat emulated in older IE versions using the non-standard \"gradient\" filter. \r\n\r\nFirefox 10+, Opera 11.6+, Chrome 26+ and IE10+ also support the new \"to (side)\" syntax."89.710.45"linear,linear-gradient,gradiant""gradients""5785905063264256""css-canvas""CSS Canvas Drawings""Method of using HTML5 Canvas as a background image. Not currently part of any specification.""http://webkit.org/blog/176/css-canvas-drawing/""Webkit blog post""A similar effect can be achieved in Firefox 4+ using the -moz-element() background property"67.57"css-reflections""CSS Reflections""Method of displaying a reflection of an element""http://webkit.org/blog/182/css-reflections/""Similar effect can be achieved in Firefox 4+ using the -moz-element() background property"63.32"box-reflect""5627300510957568""css-masks""CSS Masks""Method of displaying part of an element, using a selected image as a mask""http://www.w3.org/TR/css-masking/""http://docs.webplatform.org/wiki/css/properties/mask""http://www.html5rocks.com/en/tutorials/masking/adobe/""HTML5 Rocks article""http://thenittygritty.co/css-masking""Detailed blog post""Partial support in WebKit/Blink browsers refers to supporting the mask-image and mask-box-image properties, but lacks support for other parts of the spec. Partial support in Firefox refers to only support for inline SVG mask elements i.e. mask: url(#foo)."79.91"masks""5381559662149632""svg""SVG (basic support)""Method of displaying basic Vector Graphics features using the embed or object elements. Refers to the SVG 1.1 spec.""http://www.w3.org/TR/SVG/""http://en.wikipedia.org/wiki/Scalable_Vector_Graphics""http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i""A List Apart article""http://svg-wow.org/""SVG showcase site""http://code.google.com/p/svgweb/""SVG Web: Flash-based polyfill""http://svg-edit.googlecode.com""Web-based SVG editor""https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg""y #2""Partial support in Android 3 & 4 refers to not supporting masking.""IE9-11 desktop & mobile don't properly scale SVG files.  [Adding height, width, viewBox, and CSS rules](http://codepen.io/tomByrer/pen/qEBbzw?editors=110) seem to be the best workaround."92.142.49"svg-css""SVG in CSS backgrounds""Method of using SVG images as CSS backgrounds""http://www.w3.org/TR/css3-background/#background-image""http://www.sitepoint.com/a-farewell-to-css3-gradients/""Tutorial for advanced effects""Partial support in older Firefox and Opera Mini/Mobile refers to SVG images being blurry when scaled. Partial support in iOS Safari and older Safari versions refers to failing to support tiling or the background-position property."90.993.48"svg-in-css,svgincss,css-svg""svg-smil""SVG SMIL animation""Method of using animation elements to animate SVG images""http://www.w3.org/TR/SVG/animate.html""http://svg-wow.org/blog/category/animation/""Examples on SVG WOW""https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL""http://leunen.me/fakesmile/""JS library to support SMIL in SVG""https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg-smil""https://github.com/madsgraphics/SVGEventListener""Polyfill for SMIL animate events on SVG""Partial support in older Safari versions refers to not working in HTML files or CSS background images."79.50.56"svgsmilanimation""svg-fonts""SVG fonts""Method of using fonts defined as SVG shapes. Considered among a number of browser vendors as a deprecated feature with support being removed.""http://www.w3.org/TR/SVG/fonts.html""http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different""http://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safari/""Blog post on usage for iPad""n #1""n #2""Chrome 38 and newer support SVG fonts only on Windows Vista and XP.""Supported in Opera Mini in SVG images only, not in HTML."26.28"5930075908210688""svg-filters""SVG filters""Method of using photoshop-like effects on SVG objects including blurring and color manipulation.""http://www.w3.org/TR/SVG/filters.html""http://electricbeach.org/?p=950""Experiments with filter effects""http://svg-wow.org/blog/category/filters/""SVG filter demos""http://docs.webplatform.org/wiki/svg/elements/filter"89.82"svg-html""SVG effects for HTML""Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element""http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement""https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVG""MDN Tutorial""https://developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content""MDN Reference page""http://www.w3.org/TR/filter-effects/""Filter Effects draft""Partial support refers to lack of filter support or buggy result from effects. A [CSS Filter Effects](http://www.w3.org/TR/filter-effects/) specification is in the works that would replace this method."12.3471.95"svg-html5""Inline SVG in HTML5""Method of using SVG tags directly in HTML documents. Requires HTML5 parser.""https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0""http://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-speed-and-more/""Mozilla Hacks blog post""http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?url=SVG_HTML_Elements_001""Test suite"94.16"canvas""Canvas (basic support)""Method of generating fast, dynamic graphics using JavaScript.""https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element""https://developer.mozilla.org/en/Canvas_tutorial""Tutorial by Mozilla""http://www.canvasdemos.com/""Showcase site""http://glimr.rubyforge.org/cake/canvas.html""Animation kit ""http://diveintohtml5.info/canvas.html""Another tutorial""http://explorercanvas.googlecode.com/""Implementation for Internet Explorer""https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas""Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications. Android 2.x supports canvas except the toDataURL() function. See http://code.google.com/p/android/issues/detail?id=7901 Some (slow) workarounds are described here: http://stackoverflow.com/q/10488033/841830"2.9"5100084685438976""canvas-text""Text API for Canvas""Method of displaying text on Canvas elements""https://html.spec.whatwg.org/multipage/scripting.html#drawing-text-to-the-bitmap""https://developer.mozilla.org/en/Drawing_text_using_a_canvas#Additional_examples""Examples by Mozilla""http://code.google.com/p/canvas-text/""Support library""https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas-text""http://docs.webplatform.org/wiki/apis/canvas/CanvasRenderingContext2D/fillText""namevalue-storage""Web Storage - name/value pairs""Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).""http://www.w3.org/TR/webstorage/#storage""https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API""http://code.google.com/p/sessionstorage/""http://html5demos.com/storage""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-localstorage;native-sessionstorage""http://docs.webplatform.org/wiki/apis/web-storage/Storage/localStorage"94.180.06"webstorage,local storage""webstorage""5345825534246912""sql-storage""Web SQL Database""Method of storing data client-side, allows Sqlite database queries for access and manipulation""http://www.w3.org/TR/webdatabase/""http://html5doctor.com/introducing-web-sql-databases/""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-sql-db""The Web SQL Database specification is no longer being maintained and support may be dropped in future versions."67.89"db-storage,websql""websqldatabase""6330987952734208""indexeddb""IndexedDB""Method of storing data client-side, allows indexed database queries.""http://www.w3.org/TR/IndexedDB/""http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/""Mozilla Hacks article""https://github.com/axemclion/IndexedDBShim""Polyfill for browsers supporting WebSQL""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-indexeddb""http://docs.webplatform.org/wiki/apis/indexedDB""Partial support in IE 10 & 11 refers to a number of subfeatures [not being supported](http://codepen.io/cemerick/pen/Itymi).""Partial support in iOS 8 refers to [seriously buggy behavior](http://www.raymondcamden.com/2014/9/25/IndexedDB-on-iOS-8--Broken-Bad)."61.4118.45"indexdb""6507459568992256""online-status""Online/offline status""Events to indicate when the user's connected (`online` and `offline` events) and the `navigator.onLine` property to see current status.""https://html.spec.whatwg.org/multipage/browsers.html#browser-state""https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine.onLine#Specification""\"online\" does not always mean connection to the internet, it can also just mean connection to some network.\r\n\r\nEarly versions of Chrome and Safari always reported \"true\" for `navigator.onLine`""0""Safari 7.0 supports only the event listener on `window`, and not on `document.body`""Seems to support `navigator.onLine` but not `online`/`offline` events.""IE8 only supports the `online`/`offline` events on `document.body`, rather than `window`.""Desktop Firefox responds to the status of its \"Work Offline\" mode. If not in that mode, `navigator.onLine` is always `true`, regardless of the actual network connectivity status. [See bug](https://bugzilla.mozilla.org/show_bug.cgi?id=654579) for details."74.8318.99"eventsource""Server-sent events""Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)""http://www.w3.org/TR/eventsource/""http://www.html5rocks.com/tutorials/eventsource/basics/""HTML5 Rocks tutorial""http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-with.html""Blog post with demo""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-eventsource""https://github.com/Yaffle/EventSource"77.420.05"serversent,s-sent-events""serversenteventseventsource""5311740673785856""x-doc-messaging""Cross-document messaging""Method of sending information from a page on one domain to a page on a different one (using postMessage)""https://html.spec.whatwg.org/multipage/comms.html#crossDocumentMessages""https://developer.mozilla.org/en/DOM/window.postMessage""http://html5demos.com/postmessage2""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-crosswindowmessaging""http://docs.webplatform.org/wiki/apis/web-messaging/MessagePort/postMessage""Partial support in IE8-9 refers to only working in frames/iframes (not other tabs/windows). Also in IE 9 and below an object cannot be sent using postMessage. Partial support in IE10-11 refers to [limitations in certain conditions](http://stackoverflow.com/questions/16226924/is-cross-origin-postmessage-broken-in-ie10)"83.0813.96"postmessage""4786174115708928""datauri""Data URIs""Method of embedding images and other files in webpages as a string of text""http://www.ietf.org/rfc/rfc2397.txt""http://css-tricks.com/data-uris/""http://en.wikipedia.org/wiki/data_URI_scheme""http://www.websiteoptimization.com/speed/tweak/inline-images/""Data URL converter""http://klevjers.com/papers/phishing.pdf""Information on security issues""Support in Internet Explorer 8 is limited to images and linked resources like CSS files, not HTML files. Max URI length in IE8 is 32KB. In IE9+ JavaScript files are supported too and the maximum size limit set to 4GB."83.11"data url,datauris,data uri,dataurl,dataurls,base64""mathml""MathML""Special tags that allow mathematical formulas and notations to be written on web pages.""http://www.w3.org/TR/MathML/""http://en.wikipedia.org/wiki/MathML""http://www.mozilla.org/projects/mathml/demo/""MathML demos""http://www.mathjax.org""Cross-browser support script""https://developer.mozilla.org/en/MathML/Element""MDN element reference""Opera's support is limited to a CSS profile of MathML. Support was added in Chrome 24, but removed afterwards due to instability."23.214.58"5240822173794304""css-featurequeries""CSS Feature Queries""CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule.""http://www.w3.org/TR/css3-conditional/#at-supports""https://developer.mozilla.org/en-US/docs/Web/CSS/@supports""MDN Article""http://mcc.id.au/blog/2012/08/supports""@supports in Firefox""http://dabblet.com/gist/3895764""Test case""http://docs.webplatform.org/wiki/css/atrules/@supports""See also the [CSS.supports() DOM API](#feat=css-supports-api)"60.96"supports,conditional""conditionalrules""4993981813358592""xhtml""XHTML served as application/xhtml+xml""A strict form of HTML, and allows embedding of other XML languages""http://www.w3.org/TR/xhtml1/""http://en.wikipedia.org/wiki/XHTML""http://www.xmlplease.com/xhtml/xhtml5polyglot/""Information on XHTML5""http://docs.webplatform.org/wiki/concepts/internet_and_web/the_web_standards_model#What_is_XHTML.3F""The XHTML syntax is very close to HTML, and thus is almost always ([incorrectly](https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPE)) served as text/html on the web.""xhtml+xml""xhtmlsmil""XHTML+SMIL animation""Method of using SMIL animation in web pages""http://www.w3.org/TR/XHTMLplusSMIL/""http://en.wikipedia.org/wiki/XHTML%2BSMIL""JS library to support XHTML+SMIL""Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL"2.51"wai-aria""WAI-ARIA Accessibility features""Method of providing ways for people with disabilities to use dynamic web content and web applications.""http://www.w3.org/TR/wai-aria/""http://www.w3.org/WAI/intro/aria""http://www.paciellogroup.com/blog/2011/10/browser-assistive-technology-tests-redux/""Links to various test results""http://en.wikipedia.org/wiki/WAI-ARIA""http://www.alistapart.com/articles/the-accessibility-of-wai-aria/""ALA Article""http://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yet""HTML5/WAI-ARIA information""Support for ARIA is rather complex and currently is not fully supported in any browser. For detailed information on partial support see the [ARIA 1.0 Implementation Report](http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report)\r\n"90.14"wai,aria""geolocation""Geolocation""Method of informing a website of the user's geographical location""http://www.w3.org/TR/geolocation-API/""http://html5demos.com/geo""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-geolocation""http://docs.webplatform.org/wiki/apis/geolocation"91.76"6348855016685568""flexbox""Flexible Box Layout Module""Method of positioning elements in horizontal or vertical stacks. Support includes the support for the all properties prefixed with `flex` as well as `align-content`, `align-items`, `align-self`, and `justify-content`.""http://www.w3.org/TR/css3-flexbox/""http://bennettfeely.com/flexplorer/""Flexbox CSS generator""http://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spec.html""Article on using the latest spec""https://dev.opera.com/articles/view/advanced-cross-browser-flexbox/""Tutorial on cross-browser support""http://philipwalton.github.io/solved-by-flexbox/""Examples on how to solve common layout problems with flexbox""http://css-tricks.com/snippets/css/a-guide-to-flexbox/""A Complete Guide to Flexbox""http://the-echoplex.net/flexyboxes/""Flexbox playground and code generator""a x #2""a x #1""Most partial support refers to supporting an [older version](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/) of the specification or an [older syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/).""Only supports the [old flexbox](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723) specification and does not support wrapping.""Only supports the [2012 syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/)""Does not support flex-wrap or flex-flow properties"82.4710.5"flex-box,flex-direction,flex-wrap,flex-flow,flex-grow,flex-basis""4837301406400512""webgl""WebGL - 3D Canvas graphics""Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware""https://www.khronos.org/registry/webgl/specs/1.0/""http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation""Instructions on enabling WebGL""http://www.khronos.org/webgl/wiki/Tutorial""http://hacks.mozilla.org/2009/12/webgl-draft-released-today/""Firefox blog post""http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/""https://github.com/iewebgl/iewebgl""Support listed as \"partial\" refers to the fact that not all users with these browsers have WebGL access. This is due to the additional requirement for users to have [up to date video drivers](http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists). This problem was [solved in Chrome on Windows](http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-enabling.html) as of version 18.\r\n\r\nNote that WebGL is part of the [Khronos Group](http://www.khronos.org/webgl/), not the W3C.""WebGL context is accessed from \"experimental-webgl\" rather than \"webgl\""53.9926.71"web gl""webglcanvas3d,webglinstancingextension""6049512976023552""fileapi""File API""Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.""http://www.w3.org/TR/FileAPI/""https://developer.mozilla.org/en/Using_files_from_web_applications""http://docs.webplatform.org/wiki/apis/file""https://github.com/moxiecode/moxie""Partial support in older Safari and other WebKit browsers refers to lacking FileReader support. "86.573.05"FileReader""shadowdom""Shadow DOM""Method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM.""http://www.w3.org/TR/shadow-dom/""http://html5-demos.appspot.com/static/shadowdom-visualizer/index.html""Shadow DOM Visualizer""http://www.html5rocks.com/tutorials/webcomponents/shadowdom/""HTML5Rocks - Shadow DOM 101 article""n d #1""Supported in Firefox behind the `dom.webcomponents.enabled` flag."49.17"web components""shadowdomunprefixed""4507242028072960""websockets""Web Sockets""Bidirectional communication technology for web apps""http://www.w3.org/TR/websockets/""http://websocket.org/aboutwebsocket.html""WebSockets information""http://updates.html5rocks.com/2011/08/What-s-different-in-the-new-WebSocket-protocol""Details on newer protocol""http://en.wikipedia.org/wiki/WebSocket""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-websockets""http://docs.webplatform.org/wiki/apis/websocket""Partial support refers to the websockets implementation using an older version of the protocol and/or the implementation being disabled by default (due to security issues with the older protocol).""Partial support refers to lacking support for binary data. "86.121.34"websocket""6555138000945152""hidden""hidden attribute""The `hidden` attribute may be applied to any element, and effectively hides elements similar to `display: none` in CSS.""https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute""http://davidwalsh.name/html5-hidden""Article on hidden attribute""The hidden state can be easily overridden with a CSS `display` property set to anything other than `none`.""script-async""async attribute for external scripts""The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.""https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async""https://developer.mozilla.org/en/HTML/Element/script#Attributes""http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Default.html""Demo""https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-async""Using script.async = false; to maintain execution order for dynamically-added scripts isn't supported in Safari 5.0"89.56"cors""Cross-Origin Resource Sharing""Method of performing XMLHttpRequests across domains""http://www.w3.org/TR/cors/""http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/""http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx""Alternative implementation by IE8""https://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing/""DOM access using CORS""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-cors-xhr""Supported somewhat in IE8 and IE9 using the XDomainRequest object (but has [limitations]( http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx))"3.97"calc""calc() as CSS unit value""Method of allowing calculated values for length units, i.e. `width: calc(100% - 3em)`""http://www.w3.org/TR/css3-values/#calc""http://hacks.mozilla.org/2010/06/css3-calc/""https://developer.mozilla.org/en/CSS/-moz-calc""http://docs.webplatform.org/wiki/css/functions/calc""Support can be somewhat emulated in older versions of IE using the non-standard `expression()` syntax. Partial support in IE9 refers to the browser crashing when used as a `background-position` value. Partial support in Android Browser 4.4 refers to the browser lacking the ability to multiply and divide values."78.465.24"csscalc""5765241438732288""ruby""Ruby annotation""Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).""https://html.spec.whatwg.org/multipage/semantics.html#the-ruby-element""http://html5doctor.com/ruby-rt-rp-element/""http://docs.webplatform.org/wiki/html/elements/ruby""https://addons.mozilla.org/firefox/addon/1935/""Add-on \"XHTML Ruby Support\" for Firefox""https://addons.mozilla.org/firefox/addon/6812/""Addon \"HTML Ruby\" for Firefox support""Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby."81.46"css-opacity""CSS3 Opacity""Method of setting the transparency level of an element""http://www.css3files.com/color/#opacity""http://docs.webplatform.org/wiki/css/properties/opacity""Transparency for elements in IE8 and older can be achieved using the proprietary \"filter\" property and does not work well with PNG images using alpha transparency."2.52"transparent,transparency,alpha""form-validation""Form validation""Method of setting required fields and field types without requiring JavaScript.""https://html.spec.whatwg.org/multipage/forms.html#client-side-form-validation""http://docs.webplatform.org/wiki/html/attributes/required""Partial support in Safari refers to lack of notice when form with required fields is attempted to be submitted. Partial support in IE10 mobile refers to lack of warning when blocking submission."73.364.5"6091813840486400""history""Session history management""Method of manipulating the user's browser's session history in JavaScript using `history.pushState`, `history.replaceState` and the `popstate` event.""https://html.spec.whatwg.org/multipage/browsers.html#dom-history-pushstate""http://www.adequatelygood.com/2010/7/Saner-HTML5-History-Management""Introduction to history management""https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history""http://html5demos.com/history""https://github.com/browserstate/history.js""History.js polyfill ""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-history-state""http://docs.webplatform.org/wiki/dom/History""Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful."84.254.71"onpushstate,onreplacestate""json""JSON parsing""Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()""http://es5.github.com/#x15.12""https://developer.mozilla.org/En/Using_native_JSON""http://www.json.org/js.html""JSON in JS (includes script w/support)""https://raw.github.com/phiggins42/has.js/master/detect/json.js#json""http://docs.webplatform.org/wiki/apis/json""Requires document to be in IE8+ [standards mode](http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx) to work in IE8."96.97"classlist""classList (DOMTokenList )""Method of easily manipulating classes on elements, using the DOMTokenList object.""http://www.w3.org/TR/dom/#dom-element-classlist""http://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/""https://github.com/eligrey/classList.js""Polyfill script""http://docs.webplatform.org/wiki/dom/Element/classList""http://www.sitepoint.com/exploring-classlist-api/""SitePoint article""http://aurelio.audero.it/demo/classlist-api-demo.html""Demo using classList""https://developer.mozilla.org/en-US/docs/Web/API/Element.classList""a #1 #2""Partial support refers to not working on SVG elements.""Partial support refers to not supporting the second parameter for the `toggle` method"70.7619.07"text-overflow""CSS3 Text-overflow""Append ellipsis when text overflows its containing element""http://www.w3.org/TR/css3-ui/#text-overflow0""https://github.com/rmorse/AutoEllipsis""jQuery polyfill for Firefox""https://developer.mozilla.org/En/CSS/Text-overflow""http://www.css3files.com/text/""https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-text-overflow""http://docs.webplatform.org/wiki/css/properties/text-overflow"97.04"textoverflow,ellipsis""webm""WebM video format""Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video. WebM supports the video codec VP8 and VP9.""http://www.webmproject.org/""https://tools.google.com/dlpage/webmmf""Codec for IE9 support""http://www.broken-links.com/2010/09/01/playing-webm-in-safari-with-plugins/""Info on supporting WebM in Safari""Official website""https://raw.github.com/phiggins42/has.js/master/detect/video.js#video-webm""http://perian.org/""Perian :Mac OSX Webm Codec install""Will work in IE9+ and Safari/MacOSX provided the user has the WebM codecs installed. Partial support indicates that at least one codec is supported but not all."61.127.97"matroska""webmvideo""6362186595172352""mpeg4""MPEG-4/H.264 video format""Commonly used video compression format.""http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf""http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC""Wikipedia article""http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugin""Firefox extension allowing support in Win7""The Android 2.3 browser requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to play videos\r\n\r\nFirefox supports H.264 on Windows 7 and later since version 21. Firefox supports H.264 on Linux since version 26 if the appropriate gstreamer plug-ins are installed.\r\n\r\nPartial support for older Firefox versions refers to the lack of support in OSX & some Linux platforms. For Android Firefox it refers to the inability of hardware acceleration."81.839.09"avc,mp4,mpv,mov,aac,h264""ogv""Ogg/Theora video format""Free lossy video compression format.""http://theora.org/doc/""http://en.wikipedia.org/wiki/Theora"52.07"xiph""wordwrap""CSS3 Overflow-wrap""Allows lines to be broken within words if an otherwise unbreakable string is too long to fit. Currently mostly supported using the `word-wrap` property.""http://www.w3.org/TR/css3-text/#overflow-wrap""https://developer.mozilla.org/En/CSS/Word-wrap""http://www.css3files.com/text/#wordwrap""http://docs.webplatform.org/wiki/css/properties/word-wrap""https://bugzilla.mozilla.org/show_bug.cgi?id=955857""Bug on Firefox support""Partial support refers to requiring the legacy name \"word-wrap\" (rather than overflow-wrap) to work."59.737.46"wordwrap,word-wrap""progressmeter""Progress & Meter""Method of indicating a progress state (progress element) or the current level of a gauge (meter element).\r\n""https://html.spec.whatwg.org/multipage/forms.html#the-progress-element""https://dev.opera.com/articles/new-form-features-in-html5/#newoutput""http://html5doctor.com/measure-up-with-the-meter-tag/""HTML5 Doctor on meter element""http://peter.sh/examples/?/html/meter-progress.html""Examples of progress and meter elements""http://docs.webplatform.org/wiki/html/elements/progress""Partial support in Firefox 6-15, IE10 & iOS7 Safari refers to supporting the progress element, but not the meter element. iOS7 Safari also does not support \"indeterminate\" progress elements.\r\n\r\nFor styling progress bars, [see this article](http://css-tricks.com/html5-progress-element/)"69.6217.19"object-fit""CSS3 object-fit/object-position""Method of specifying how an object (image or video) should fit inside its box. object-fit options include \"contain\" (fit according to aspect ratio), \"fill\" (stretches object to fill) and \"cover\" (overflows box but maintains ratio), where object-position allows the object to be repositioned like background-image does.""https://dev.opera.com/articles/view/css3-object-fit-object-position/""http://docs.webplatform.org/wiki/css/properties/object-fit""https://github.com/anselmh/object-fit""object-fit JavaScript-Polyfill""Partial support in Safari refers to support for `object-fit` but not `object-position`."57.567.96"objectfit,objectposition""objectfitandobjectposition""5302669702856704""xhr2""XMLHttpRequest 2""Adds more functionality to AJAX requests like file uploads, transfer progress information and the ability to send form data.""https://xhr.spec.whatwg.org/""https://developer.mozilla.org/en/XMLHttpRequest/FormData""MDN article on FormData""https://github.com/3nr1c/jUri.js""Polyfill for FormData object""http://docs.webplatform.org/wiki/apis/xhr/XMLHttpRequest"89.840.09"formdata""minmaxwh""CSS min/max-width/height""Method of setting a minimum or maximum width or height to an element. ""http://www.w3.org/TR/CSS21/visudet.html#min-max-widths""http://code.google.com/p/ie7-js/""JS library with support""http://docs.webplatform.org/wiki/css/properties/min-width""http://www.impressivewebs.com/min-max-width-height-css/""CSS Basics post""IE7 does not support \"inherit\" as a value on any of these properties. IE8 has some bugs with max-width/height combined with overflow: auto/scroll.""min-width,min-height,max-width,max-height""details""Details & Summary elements""The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.""https://html.spec.whatwg.org/multipage/forms.html#the-details-element""https://mathiasbynens.be/notes/html5-details-jquery""jQuery fallback script""https://gist.github.com/370590""Fallback script""http://html5doctor.com/summary-figcaption-element/""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-details""http://docs.webplatform.org/wiki/html/elements/details""https://bugzilla.mozilla.org/show_bug.cgi?id=591737"66.68"detailssummary""5348024557502464""text-stroke""CSS text-stroke""Method of declaring the outline (stroke) width and color for text.""http://developer.apple.com/library/safari/documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266-_webkit_text_stroke""http://css-tricks.com/7405-adding-stroke-to-web-text/""Information & workarounds""http://www.westciv.com/tools/textStroke/""Does not yet appear in any W3C specification. Was briefly included in a spec as the \"text-outline\" property, but this was removed."63.33"textstroke,stroke-color,stroke-width,fill-color""inline-block""CSS inline-block""Method of displaying an element as a block while flowing it with text. ""http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/""Blog post w/info""http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/""Info on cross browser support""http://docs.webplatform.org/wiki/css/properties/display""Only supported in IE6 and IE7 on elements with a display of \"inline\" by default. [Alternative properties](http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/) are available to provide complete cross-browser support."97.050.21"inlineblock""notifications""Web Notifications""Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).""http://www.w3.org/TR/notifications/""http://www.html5rocks.com/tutorials/notifications/quick/""http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification""Chromium API""https://addons.mozilla.org/en-us/firefox/addon/221523/""Add-on ""https://developer.mozilla.org/en-US/docs/Web/API/notification""MDN Notifications""http://www.sitepoint.com/introduction-web-notifications-api/""http://aurelio.audero.it/demo/web-notifications-api-demo.html""http://ukot.github.io/ie_web_notifications/""Plug-in for support in IE"49.73"webnotifications""5064350557536256""getUserMedia/Stream API""Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.""http://www.w3.org/TR/mediacapture-streams/""https://dev.opera.com/blog/webcam-orientation-preview/""Technology preview from Opera""http://docs.webplatform.org/wiki/dom/Navigator/getUserMedia"62.21"camera,device,getUserMedia,media stream,Media Capture API""mediacaptureandstreams""6067380039974912,6605041225957376""svg-img""SVG in HTML img element""Method of displaying SVG images in HTML using <img>.""https://html.spec.whatwg.org/multipage/embedded-content.html""http://blog.dholbert.org/2010/10/svg-as-image.html""Blog post with examples""http://www.codedread.com/blog/""Blog with SVGs an images"94.47"svg-as-img,svg-in-img""datalist""Datalist element""Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value.""https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element""http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/""http://afarkas.github.com/webshim/demos/""HTML5 Library including datalist support""https://developer.mozilla.org/en/HTML/Element/datalist""http://docs.webplatform.org/wiki/html/elements/datalist""http://demo.agektmr.com/datalist/""Eiji Kitamura's options demos & tests""http://github.com/thgreasi/datalist-polyfill""Minimal Datalist polyfill w/tutorial""Partial support in IE10 refers to [significantly buggy behavior](http://playground.onereason.eu/2013/04/ie10s-lousy-support-for-datalists/). Firefox doesn't support [datalist association with inputs of type `number`](http://codepen.io/graste/pen/bNoVKW)."63.839.28"list attribute""datalistelement""6090950820495360""dataset""dataset & data-* attributes""Method of applying and accessing custom data to elements.""https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes""http://html5doctor.com/html5-custom-data-attributes/""http://html5demos.com/dataset""Demo using dataset""https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-dataset""http://docs.webplatform.org/wiki/html/attributes/data-*""https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset""MDN Reference - dataset""https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes""MDN Guide - Using data-* attributes""Partial support refers to being able to use `data-*` attributes and access them using `getAttribute`. \r\n\r\n\"Supported\" refers to accessing the values using the `dataset` property. Current spec only refers to support on HTML elements, only some browsers also have support for SVG/MathML elements."88.239.03"DOMStringMap""css-grid""CSS Grid Layout""Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for lay out into columns and rows using a set of predictable sizing behaviors""http://www.w3.org/TR/css3-grid-layout/""http://blogs.msdn.com/b/ie/archive/2011/04/14/ie10-platform-preview-and-css-features-for-adaptive-layouts.aspx""IE Blog post""https://bugs.webkit.org/show_bug.cgi?id=60731""Webkit (Chrome, Safari, etc.) feature request""https://bugzilla.mozilla.org/show_bug.cgi?id=616605""Mozilla (Firefox) feature request""https://github.com/codler/Grid-Layout-Polyfill""Polyfill based on old spec""https://github.com/FremyCompany/css-grid-polyfill/""Polyfill based on new spec""p d #1""Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags""Partial support in IE refers to supporting an [older version](http://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/) of the specification.""grids,grid-row,grid-column""grid""4589636412243968""menu""Toolbar/context menu""Method of defining a toolbar menu, a context menu or a list of (interactive) options using the <menu> element.""https://html.spec.whatwg.org/multipage/forms.html#the-menu-element""https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309""http://addyosmani.github.com/jQuery-contextMenu/""jQuery polyfill""https://raw.github.com/phiggins42/has.js/master/detect/events.js#event-contextmenu""https://bugzilla.mozilla.org/show_bug.cgi?id=746087""Partial support in Firefox refers to being limited to context menus, not toolbar menus."12.05"contextmenu,menuitem,command""rem""rem (root em) units""Type of unit similar to `em`, but relative only to the root element, not any parent element. Thus compounding does not occur as it does with `em` units.""http://www.w3.org/TR/css3-values/#font-relative-lengths""http://snook.ca/archives/html_and_css/font-size-with-rem""https://github.com/chuckcarpenter/REM-unit-polyfill""REM Polyfill""IE 9 & IE 10 do not support `rem` units when used in the `font` shorthand property (the entire declaration is ignored) or when used on pseudo elements."91.552.93"rems""ttf""TTF/OTF - TrueType and OpenType font support""Support for the TrueType (.ttf)and OpenType (.otf) outline font formats in @font-face. ""http://developer.apple.com/fonts/TTRefMan/index.html""http://stackoverflow.com/questions/17694143/what-is-the-status-of-ttf-support-in-internet-explorer""What is the status of TTF support in Internet Explorer?""Partial support in IE9 refers to the fonts only working [when set to be \"installable\"](http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx)."80.2510.91"touch""Touch events""Method of registering when, where and how the interface is touched, for devices with a touch screen. These DOM events are similar to mousedown, mousemove, etc.""http://www.w3.org/TR/touch-events/""http://www.quirksmode.org/mobile/tableTouch.html""Detailed support tables""http://www.quirksmode.org/m/tests/drag2.html""Multi-touch demo""http://schepers.cc/getintouch""Information on the spec development""http://msdn.microsoft.com/en-us/library/ie/hh673557(v=vs.85).aspx""Internet Explorer's gesture and touch implementation.""http://github.com/CamHenlin/TouchPolyfill""Touch polyfill for supporting touch events on Internet Explorer""Internet Explorer implements Pointer Events specification which supports more input devices than Touch Events one.\r\n\r\nThere is a library on GitHub that is working toward bringing W3C touch events to IE 10 and 11: https://github.com/CamHenlin/TouchPolyfill \r\n\r\nRemoved support in Firefox refers to desktop Firefox only.""Can be enabled in Firefox using the dom.w3c_touch_events.enabled flag (disabled by default for site compatibility reasons)""Supported on IE11 Mobile for phones with \"[Windows Phone 8.1 Update](http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx)\""63.780.87"touchstart,touchend,touchmove,touchenter,touchleave,touchcancel""touchevents""6156165603917824""matchesselector""matches() DOM method""Method of testing whether or not a DOM element matches a given selector. Formerly known (and largely supported with prefix) as matchesSelector.""https://dom.spec.whatwg.org/#dom-element-matches""https://developer.mozilla.org/en/DOM/Element.mozMatchesSelector""http://docs.webplatform.org/wiki/dom/HTMLElement/matchesSelector""Partial support refers to supporting the older specification's \"matchesSelector\" name rather than just \"matches\"."61.9429.8" matchesSelector""pointer-events""CSS pointer-events (for HTML)""This CSS property, when set to \"none\" allows elements to not receive hover/click events, instead the event will occur on anything behind it. ""http://wiki.csswg.org/spec/css4-ui#pointer-events""http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/""Article & tutorial""https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-pointerevents""Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements."88.39"pointerevents""csspointerevents""blobbuilder""Blob constructing""Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor.""http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface""https://developer.mozilla.org/en/DOM/BlobBuilder""MDN article on BlobBuilder""https://developer.mozilla.org/en-US/docs/DOM/Blob""MDN article on Blobs""Partial support refers to only supporting the now deprecated BlobBuilder to create blobs."78.4510.76"blob""5328783104016384""filereader""FileReader API""Method of reading the contents of a File or Blob object into memory""http://www.w3.org/TR/FileAPI/#dfn-filereader""https://developer.mozilla.org/en/DOM/FileReader""http://docs.webplatform.org/wiki/apis/file/FileReader""Does not support `readAsBinaryString`"80.13"5171003185430528""filesystem""Filesystem & FileWriter API""Method of reading and writing files to a sandboxed file system.""http://www.w3.org/TR/file-system-api/""http://www.html5rocks.com/en/tutorials/file/filesystem/""http://docs.webplatform.org/wiki/apis/filesystem""The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions."45.960.14"filewriter""5452478162141184""bloburls""Blob URLs""Method of creating URL handles to the specified File or Blob object.""http://www.w3.org/TR/FileAPI/#url""https://developer.mozilla.org/en/DOM/window.URL.createObjectURL"88.82"createobjecturl""rellist""relList (DOMTokenList)""Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList).""https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist""https://developer.mozilla.org/en-US/docs/DOM/DOMTokenList""MDN - DOMTokenList"11.22"typedarrays""Typed Arrays""JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently.\r\n""http://www.khronos.org/registry/typedarray/specs/latest/""https://developer.mozilla.org/en/javascript_typed_arrays""IE10 (and IE 10&11 mobile) does not support `Uint8ClampedArray`"87.312.35"float64array,dataview,uint8array""5135818813341696""deviceorientation""DeviceOrientation events""API for detecting orientation and motion events from the device running the browser.""http://www.w3.org/TR/orientation-event/""http://www.html5rocks.com/en/tutorials/device/orientation/""https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-orientation""http://html5labs.interoperabilitybridges.com/prototypes/device-orientation-events/device-orientation-events/info""DeviceOrientation implementation prototype for IE10""http://aurelio.audero.it/demo/device-orientation-api-demo.html""Partial support refers to the lack of compassneedscalibration event. Partial support also refers to the lack of devicemotion event support for Chrome 30- and Opera. Opera Mobile 14 lost the ondevicemotion event support. Firefox 3.6, 4 and 5 support the non-standard [MozOrientation](https://developer.mozilla.org/en/DOM/MozOrientation) event.""`compassneedscalibration` supported in IE11 only for compatible devices with Windows 8.1+."0.5183.7"deviceorientation,devicemotion""5874690627207168,5556931766779904""script-defer""defer attribute for external scripts""The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.""https://html.spec.whatwg.org/multipage/scripting.html#attr-script-defer""https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-defer""http://docs.webplatform.org/wiki/html/attributes/defer""Partial support in older IE refers to a buggy implementation (see issue)."89.694.16"nav-timing""Navigation Timing API""API for accessing timing information related to navigation and elements.""http://www.w3.org/TR/navigation-timing/""https://developer.mozilla.org/en/API/navigationTiming""http://www.html5rocks.com/en/tutorials/webperformance/basics/""http://docs.webplatform.org/wiki/apis/navigation_timing""Removed in iOS 8.1 due to poor performance."81.97"performance,performance.timing""navigationtimingapi""5584144679567360""audio-api""Web Audio API""High-level JavaScript API for processing and synthesizing audio""http://www.w3.org/TR/webaudio/""https://github.com/corbanbrook/audionode.js""Polyfill to support Web Audio API in Firefox""http://docs.webplatform.org/wiki/apis/webaudio""http://www.doboism.com/projects/webaudio-compatibility/""Additional browser compatibility tests for specific features""https://github.com/g200kg/WAAPISim""Polyfill to enable Web Audio API through Firefox Audio Data api or flash""Firefox versions < 25 support an alternative, deprecated audio API.\r\n\r\nChrome support [went through some changes](http://updates.html5rocks.com/2014/07/Web-Audio-Changes-in-m36) as of version 36."68.03"web-audio""webaudioapi""6261718720184320""css-regions""CSS Regions""Method of flowing content into multiple elements.""http://www.w3.org/TR/css3-regions/""http://html.adobe.com/webstandards/cssregions/""Adobe demos and samples""http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected""IE10 developer guide info""http://docs.webplatform.org/wiki/css/atrules/@region""n d""Support in IE10 and IE11 is limited to using an iframe as a content source with the `-ms-flow-into: flow_name;` and `-ms-flow-from: flow_name;` syntax. "14.4710.06"regions""5655612935372800""spellcheck-attribute""Spellcheck attribute""Attribute for `input`/`textarea` fields to enable/disable the browser's spellchecker.""https://html.spec.whatwg.org/multipage/interaction.html#spelling-and-grammar-checking""https://developer.mozilla.org/en-US/docs/Web/HTML/Controlling_spell_checking_in_HTML_formsControlling_spell_checking_in_HTML_forms""The partial support in mobile browsers results from their OS generally having built-in spell checking instead of using the wavy underline to indicate misspelled words. `spellcheck=\"false\"` does not seem to have any effect in these browsers."60.6332.2"spelling""Full Screen API""API for allowing content (like a video or canvas element) to take up the entire screen.""http://www.w3.org/TR/fullscreen/""https://developer.mozilla.org/en/DOM/Using_full-screen_mode""http://jlongster.com/2011/11/21/canvas.html""http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/""http://docs.webplatform.org/wiki/dom/Element/requestFullscreen""Partial support refers to supporting an earlier draft of the spec.""Partial support refers to not supporting `::backdrop`, and supporting the old `:full-screen` syntax rather than the standard `:fullscreen`."8.761.74"full-screen""fullscreenapi""5259513871466496""css-exclusions""CSS Exclusions Level 1""Exclusions defines how inline content flows around elements. It extends the content wrapping ability of floats to any block-level element.""http://www.w3.org/TR/css3-exclusions/""https://msdn.microsoft.com/en-us/library/ie/hh673558(v=vs.85).aspx""CSS Exclusions""floats,exclusions,wrap-flow,wrap-through""exclusions""6296903092273152""requestanimationframe""requestAnimationFrame""API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts.""http://www.w3.org/TR/animation-timing/#requestAnimationFrame""http://paulirish.com/2011/requestanimationframe-for-smart-animating/""http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/""http://docs.webplatform.org/wiki/dom/Window/requestAnimationFrame"86.54"5233400470306816""input-range""Range input type""Form field type that allows the user to select a value using a slider widget.""https://html.spec.whatwg.org/multipage/forms.html#range-state-(type=range)""https://github.com/fryn/html5slider""Polyfill for Firefox""https://github.com/freqdec/fd-slider""Cross-browser polyfill""http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/""https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-range""http://docs.webplatform.org/wiki/html/elements/input/type/range""https://github.com/andreruffert/rangeslider.js""rangeslider.js polyfill""Currently all Android browsers with partial support hide the slider input field by default. However, the element [can be styled](http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/) to be made visible and usable."88.421.16"input type=\"range\"""matchmedia""matchMedia""API for finding out whether or not a media query applies to the document.""http://www.w3.org/TR/cssom-view/#dom-window-matchmedia""https://github.com/paulirish/matchMedia.js/""matchMedia.js polyfill""https://developer.mozilla.org/en/DOM/window.matchMedia""https://developer.mozilla.org/en/CSS/Using_media_queries_from_code""MDN tutorial""http://docs.webplatform.org/wiki/css/media_queries/apis/matchMedia"89.57"mediaquerylist""4677872220372992""input-datetime""Date and time input types""Form field widget to easily allow users to enter a date or a time, generally by using a calendar/time input widget. Previously there was also a single field for both date & time, but this has been deprecated.""https://html.spec.whatwg.org/multipage/forms.html#date-state-(type=date)""http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-browser-datepickers-within-minutes/""Datepicker tutorial w/polyfill""https://github.com/zoltan-dulac/html5Forms.js""Polyfill for HTML5 forms""https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-datetime;input-type-datetime-local""http://docs.webplatform.org/wiki/html/elements/input/type/date""https://bugzilla.mozilla.org/show_bug.cgi?id=888320""Partial support in iOS refers to a lack of support for attributes like step, min, or max.\r\n\r\nOlder versions of Safari provide date-formatted text fields, but no real calendar widget.\r\n\r\nSome modified versions of the Android 4.x browser do have support for date/time fields.""Partial support can be enabled in EdgeHTML.dll using the `HTML5 date and time input types` flag in `about:flags`. This enables the `date`, `week`, and `month` input types."61.23"datepicker,timepicker,input type=\"date\",input type=\"time\"""daterelatedinputtypes,timerelatedinputtypes""6640933999214592""input-color""Color input type""Form field allowing the user to select a color.""https://html.spec.whatwg.org/multipage/forms.html#color-state-(type=color)""http://www.html5tutorial.info/html5-color.php""https://github.com/jonstipe/color-polyfill""http://docs.webplatform.org/wiki/html/elements/input/type/color"61.09"colour,input type=\"color\"""input-number""Number input type""Form field type for numbers.""https://html.spec.whatwg.org/multipage/forms.html#number-state-(type=number)""http://www.html5tutorial.info/html5-number.php""https://github.com/jonstipe/number-polyfill""https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-number""http://docs.webplatform.org/wiki/html/elements/input/type/number""iOS Safari, Android 4, Chrome for Android show number input, but do not use \"step\", \"min\" or \"max\" attributes or show increment/decrement buttons. Internet Explorer 10 and 11 do not show increment/decrement buttons. Firefox doesn't support [autocomplete content via datalist](http://codepen.io/graste/pen/bNoVKW) elements."50.4338.49"spinner,input type=\"number\"""iframe-sandbox""sandbox attribute for iframes""Method of running external site pages with reduced privileges (e.g. no JavaScript) in iframes.""https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sandbox""http://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html""Chromium blog article""http://msdn.microsoft.com/en-us/hh563496""http://docs.webplatform.org/wiki/html/attributes/sandbox"88.830.59"iframesandboxattribute""5715536319086592""css-counters""CSS Counters""Method of controlling number values in generated content, using the counter-reset and counter-increment properties.""http://www.w3.org/TR/CSS21/generate.html#counters""http://onwebdev.blogspot.com/2012/02/css-counters-tutorial.html""Tutorial and information""https://developer.mozilla.org/en/CSS_Counters""http://docs.webplatform.org/wiki/css/properties/counter-reset""css-resize""CSS resize property""Method of allowing an element to be resized by the user, with options to limit to a given direction. ""http://www.w3.org/TR/css3-ui/#resize""http://css-tricks.com/almanac/properties/r/resize/""CSS Tricks info""http://davidwalsh.name/textarea-resize""On textarea resizing""Opera 12.10+ currently only supports the resize property for textarea elements."62.24"horizontal,vertical""input-placeholder""input placeholder attribute""Method of setting placeholder text for text-like input fields, to suggest the expected inserted information.""https://html.spec.whatwg.org/multipage/forms.html#attr-input-placeholder""http://www.zachleat.com/web/placeholder/""https://github.com/mathiasbynens/jquery-placeholder""https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-attr-placeholder""http://docs.webplatform.org/wiki/html/attributes/placeholder""https://code.google.com/p/android/issues/detail?id=24626""Issue 24626: Placeholder text for an input type=""Partial support in older Safari and Opera versions refers to lacking placeholder support on textarea elements. "88.971.14"spdy""HTTP/2 protocol / SPDY""Networking protocol for low-latency transport of content over the web. Originally started out from the SPDY protocol, now standardized as HTTP version 2.""http://http2.github.io/http2-spec/index.html""http://en.wikipedia.org/wiki/HTTP/2""http://dev.chromium.org/spdy/spdy-whitepaper""SPDY whitepaper"72.157.98"http2""5152586365665280""css-repeating-gradients""CSS Repeating Gradients""Method of defining a repeating linear or radial color gradient as a CSS image.""http://www.w3.org/TR/css3-images/#repeating-gradients""https://developer.mozilla.org/en/CSS/repeating-linear-gradient""http://www.css3files.com/gradient/#repeatinglineargradient""http://docs.webplatform.org/wiki/css/repeating-linear-gradient""Firefox 10+, Chrome 26+ and Opera 11.6+ also support the new \"to (side)\" syntax.""css-filters""CSS Filter Effects""Method of applying filter effects (like blur, grayscale, brightness, contrast and hue) to elements, previously only possible by using SVG.""http://html5-demos.appspot.com/static/css/filters/index.html""Demo file for WebKit browsers""http://www.html5rocks.com/en/tutorials/filters/understanding-css/""HTML5Rocks article""http://dl.dropbox.com/u/3260327/angular/CSS3ImageManipulation.html""Filter editor""http://bennettfeely.com/filters/""Filter Playground""n d #2""a d #1""Note that this property is significantly different from and incompatible with Microsoft's [older \"filter\" property](http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspx).\r\n\r\nPartial support in Firefox before version 34 [only implemented the url() function of the filter property](https://developer.mozilla.org/en-US/docs/Web/CSS/filter#Browser_compatibility)""Supported in Firefox under the `layout.css.filters.enabled` flag.""Supported in Project Spartan under the \"Enable CSS filter property\" flag. Supports filter functions, but not the `url` function."73.762.66"sepia,hue-rotate,invert,saturate""filters""5822463824887808""getcomputedstyle""getComputedStyle""API to get the current computed CSS styles applied to an element. This may be the current value applied by an animation or as set by a stylesheet.""http://www.w3.org/TR/cssom/#dom-window-getcomputedstyle""https://developer.mozilla.org/en/DOM/window.getComputedStyle""http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/""http://snipplr.com/view/13523/""http://docs.webplatform.org/wiki/css/cssom/methods/getComputedStyle""Partial support in older Firefox versions refers to requiring the second parameter to be included.\r\n\r\nPartial support in all other browsers refers to not supporting getComputedStyle on pseudo-elements."91.413.31"word-break""CSS3 word-break""Property to prevent or allow words to be broken over multiple lines between letters.""http://www.w3.org/TR/css3-text/#word-break""https://developer.mozilla.org/en/CSS/word-break""http://docs.webplatform.org/wiki/css/properties/word-break""Partial support refers to supporting the `break-all` value, but not the `keep-all` value.\r\n\r\nChrome, Safari and other WebKit/Blink browsers also support the unofficial `break-word` value which is treated like `word-wrap: break-word`."26.1567.58"break-all,keep-all""viewport-units""Viewport units: vw, vh, vmin, vmax""Length units representing 1% of the viewport size for viewport width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).""http://www.w3.org/TR/css3-values/#viewport-relative-lengths""http://css-tricks.com/viewport-sized-typography/""https://github.com/saabi/vminpoly""https://github.com/rodneyrehm/viewport-units-buggyfill""Buggyfill - Polyfill that fixes buggy support""http://blog.rodneyrehm.de/archives/34-iOS7-Mobile-Safari-And-Viewport-Units.html""Back-Forward issue blog post""Partial support in IE9 refers to supporting \"vm\" instead of \"vmin\".\r\n\r\nPartial support in iOS7 is due to buggy behavior of the \"vh\" unit (see [workaround](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587)).\r\n\r\nAll other partial support refers to not supporting the \"vmax\" unit. "69.9713.31"vm,viewport-percentage""contentsecuritypolicy""Content Security Policy 1.0""Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources.""http://www.w3.org/TR/CSP/""http://html5rocks.com/en/tutorials/security/content-security-policy/""http://content-security-policy.com/""CSP Examples & Quick Reference""The standard HTTP header is `Content-Security-Policy` which is used unless otherwise noted.""Supported through the `X-Content-Security-Policy` header""Supported through the `X-Webkit-CSP` header"76.4110.36"csp,security,header""5205088045891584""pagevisibility""Page Visibility""JavaScript API for determining whether a document is visible on the display""http://www.w3.org/TR/page-visibility/""https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API""http://docs.webplatform.org/wiki/apis/timing/properties/visibilityState""http://www.sitepoint.com/introduction-to-page-visibility-api/""http://aurelio.audero.it/demo/page-visibility-api-demo.html"86.36"visibilitystate""pagevisibilityapi""5689697795833856""stricttransportsecurity""Strict Transport Security""Declare that a website is only accessible over a secure connection (HTTPS).""http://tools.ietf.org/html/rfc6797""http://dev.chromium.org/sts""Chromium article""https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security""https://www.owasp.org/index.php/HTTP_Strict_Transport_Security""OWASP article""The HTTP header is 'Strict-Transport-Security'."70.86"sts,hsts,security,header""httpstricttransportsecurityhsts""4941480133132288""style-scoped""Scoped CSS""Allows CSS rules to be scoped to part of the document, based on the position of the style element.""https://html.spec.whatwg.org/multipage/semantics.html#attr-style-scoped""https://github.com/PM5544/scoped-polyfill""http://html5doctor.com/the-scoped-attribute/""http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scoped"16.04"scope""scopedstyles""5374137958662144""svg-fragment""SVG fragment identifiers""Method of displaying only a part of an SVG image by defining a view ID or view box dimensions as the file's fragment identifier.""http://www.w3.org/TR/SVG/linking.html#SVGFragmentIdentifiers""http://www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-identifiers/""fragments,sprite""outline""CSS outline""The CSS outline property is a shorthand property for setting one or more of the individual outline properties outline-style, outline-width and outline-color in a single rule. In most cases the use of this shortcut is preferable and more convenient.""http://www.w3.org/TR/CSS2/ui.html#propdef-outline""http://dev.w3.org/csswg/css3-ui/#outline""CSS Basic User Interface Module Level 3""https://developer.mozilla.org/en-US/docs/CSS/outline""Mozilla Developer Network: outline""Also supports the value of `invert` for `outline-color`. (support of this value is optional for browsers)"94.28"-moz-outline,outline-width,outline-style,outline-color""Download attribute""When used on an anchor, this attribute signifies that the browser should download the resource the anchor points to rather than navigate to it.""https://html.spec.whatwg.org/multipage/semantics.html#downloading-resources""http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download""HTML5Rocks post""http://html5-demos.appspot.com/static/a.download.html""Demo: creating a text file and downloading it."61.36"download,a.download,a[download],download attribute""adownloadattribute""6473924464345088""pointer""Pointer events""This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier. Not to be mistaken with the unrelated \"pointer-events\" CSS property.""http://www.w3.org/TR/pointerevents/""http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx""Implementation of Pointer Events in IE10""http://blogs.msdn.com/b/eternalcoding/archive/2013/01/16/hand-js-a-polyfill-for-supporting-pointer-events-on-every-browser.aspx""Hand.js, the polyfill for browsers only supporting Touch Events""http://blogs.msdn.com/b/davrous/archive/2013/02/20/handling-touch-in-your-html5-apps-thanks-to-the-pointer-events-of-ie10-and-windows-8.aspx""Partial support in IE10 refers the lack of pointerenter and pointerleave events. Firefox Nightly provides 'dom.w3c_pointer_events.enabled' option to support this specification starting with version 28."8.49"pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerenter,pointerleave""4504699138998272""user-select-none""CSS user-select: none""Method of preventing text/element selection using CSS. ""https://developer.mozilla.org/en-US/docs/CSS/user-select""http://css-tricks.com/almanac/properties/u/user-select/""CSS Tricks article""http://msdn.microsoft.com/en-us/library/ie/hh781492(v=vs.85).aspx""MSDN Documentation""Currently the user-select property does not appear in any W3C specification. Support information here is only for \"none\" value, not others."89.94"webp""WebP image format""Image format that supports lossy and lossless compression, as well as animation and alpha transparency.""https://developers.google.com/speed/webp/""http://antimatter15.github.io/weppy/demo.html""Polyfill for browsers with WebM support""http://libwebpjs.appspot.com/""Decoder in JS""http://webpjs.appspot.com/""Polyfill for browsers with or without WebM support (i.e. IE6-IE9, Safari/iOS version 6.1 and below; Firefox versions 24 and bel""https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webp""Official website FAQ - Which web browsers natively support WebP?""Partial support in older Chrome, Opera and Android refers to browser not supporting lossless and alpha versions of WebP. Animated webp images are supported in Chrome 32+ and Opera 19+."57.971.52"webpimageformatsupport""6471725441089536,4785074604081152""intrinsic-width""Intrinsic & Extrinsic Sizing""Allows for the heights and widths to be specified in intrinsic values using the fill-available, max-content, min-content, and fit-content properties.""http://www.w3.org/TR/css3-sizing/""http://demosthenes.info/blog/662/Design-From-the-Inside-Out-With-CSS-MinContent""Min-Content tutorial""Prefixes are on the values, not the property names (e.g. -webkit-min-content) Firefox currently supports the \"-moz-available\" property rather than \"-moz-fill-available\"."71.82"fill-available,max-content,min-content,fit-content,contain-floats""cssintrinsicsizing""5901353784180736""cryptography""Web Cryptography""JavaScript API for performing basic cryptographic operations in web applications""http://www.w3.org/TR/WebCryptoAPI/""http://www.slideshare.net/Channy/the-history-and-status-of-web-crypto-api""The History and Status of Web Crypto API""http://research.microsoft.com/en-us/projects/msrjscrypto/""Microsoft Research JavaScript Cryptography Library""http://bitwiseshiftleft.github.io/sjcl/""Cross-browser cryptography library""a #4""y x #3""Many browsers support the `[crypto.getRandomValues()](#feat=getrandomvalues)` method, but not actual cryptography functionality under `crypto.subtle`. \r\n\r\nFirefox also has support for [unofficial features](https://developer.mozilla.org/en-US/docs/JavaScript_crypto). \r\n\r\nIn Chrome the API is only usable over secure connections. ([corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032))""Support in IE11 is based an older version of the specification. ""Supported in Firefox behind the `dom.webcrypto.enabled` flag. ""Supported in Safari using the `crypto.webkitSubtle` prefix""Partial support in Firefox is [described here](https://docs.google.com/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidUVoU3FQbFFobkE#gid=1)"50.5518.23"subtle,subtlecrypto""webcryptoapi""5030265697075200""template""HTML templates""Method of declaring a portion of reusable markup that is parsed but not rendered until cloned.""https://html.spec.whatwg.org/multipage/scripting.html#the-template-element""http://www.html5rocks.com/en/tutorials/webcomponents/template/""HTML5Rocks - HTML's New template Tag""http://polymer-project.org""Polymer project (polyfill & web components framework)"68.81"web components, template""templateelement""5207287069147136""opus""Opus""Royalty-free open audio codec by IETF, which incorporated SILK from Skype and CELT from Xiph.org, to serve higher sound quality and lower latency at the same bitrate.""http://tools.ietf.org/html/rfc6716""https://hacks.mozilla.org/2012/07/firefox-beta-15-supports-the-new-opus-audio-format/""Introduction of Opus by Mozilla""http://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html""Google's statement about the use of VP8 and Opus codec for WebRTC standard""For Opera the Linux version may be able to play it when the GStreamer module is up to date and the served mime-type is 'audio/ogg'."45.35"4891189287321600""jpegxr""JPEG XR image format""The latest JPEG image format of Joint Photographic Experts Group which boasts better compression and supports lossless compression, alpha channel, and 48-bit deep color over normal jpg format.""http://www.itu.int/rec/T-REC-T.832""http://msdn.microsoft.com/en-us/library/windows/desktop/hh707223(v=vs.85).aspx""Microsoft JPEG XR Codec Overview"11.63"channel-messaging""Channel messaging""Method for having two-way communication between browsing contexts (using MessageChannel)""http://www.w3.org/TR/webmessaging/#channel-messaging""https://dev.opera.com/articles/view/window-postmessage-messagechannel/#channel""An Introduction to HTML5 web messaging""Supported in Firefox behind the `dom.messageChannel.enabled` flag. Reported to not work in web workers."75.23"messagechannels""6710044586409984""css3-tabsize""CSS3 tab-size""Method of customizing the width of the tab character. Only effective using 'white-space: pre' or 'white-space: pre-wrap'.""http://www.w3.org/TR/css3-text/#tab-size1""https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size""Partial refers to supporting `<integer>` but not `<length>` values."0.2774.79"tab-size,tab-width""mutationobserver""Mutation Observer""Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated.""http://www.w3.org/TR/dom/""https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver""MutationObserver from MDN""https://github.com/webcomponents/webcomponentsjs""When the content of a node with a single CharacterData child node is changed by innerHTML attribute and the node have a single different one as a result, WebKit browsers consider it as a characterData mutation of the child CharacterData node, while other browsers think it as a childList mutation of the parent node."84.61"MutationObserver""mutationobservers""5021194726146048""css-selection""::selection CSS pseudo-element""The ::selection CSS pseudo-element applies rules to the portion of a document that has been highlighted (e.g., selected with the mouse or another pointing device) by the user.""http://www.w3.org/TR/css-pseudo-4/#selectordef-selection""http://quirksmode.org/css/selectors/selection.html""::selection test""http://docs.webplatform.org/wiki/css/selectors/pseudo-elements/::selection"77.96"::selection,selection""css-placeholder"":placeholder-shown CSS pseudo-class""The :placeholder-shown pseudo-class represents a form element with visible placeholder contents.""http://www.w3.org/TR/selectors4/#placeholder""http://msdn.microsoft.com/en-us/library/ie/hh772745(v=vs.85).aspx""http://css-tricks.com/snippets/css/style-placeholder-text/""CSS-Tricks article with all prefixes""http://wiki.csswg.org/ideas/placeholder-styling""CSSWG discussion""Partial support refers to support for styling just the placeholder text, rather than the actual element itself: `::-webkit-input-placeholder` (Chrome/Safari/Opera),\r\n`::-moz-placeholder` (Firefox) and \r\n`:-ms-input-placeholder` (IE). "89.67"::placeholder,placeholder""css-deviceadaptation""CSS Device Adaptation""A standard way to override the size of viewport in web page, standardizing and replacing Apple's own popular <meta> viewport implementation.""http://www.w3.org/TR/css-device-adapt/""https://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/""Introduction to meta viewport and @viewport in Opera Mobile""http://msdn.microsoft.com/en-us/library/ie/hh708740(v=vs.85).aspx""Device adaptation in Internet Explorer 10""IE only supports the 'width' and 'height' properties.""Opera Mobile and Opera Mini only support the 'orientation' property."12.78"viewport""text-emphasis""text-emphasis styling""Method of using small symbols next to each glyph to emphasize a run of text, commonly used in East Asian languages. The `text-emphasis` shorthand, and its `text-emphasis-style` and `text-emphasis-color` longhands, can be used to apply marks to the text. The `text-emphasis-position` property, which inherits separately, allows setting the emphasis marks' position with respect to the text.""http://www.w3.org/TR/css-text-decor-3/#text-emphasis""https://github.com/zmmbreeze/jquery.emphasis/""A javascript fallback for CSS3 emphasis mark.""Some old webkit browsers (like Chrome 24) support `-webkit-text-emphasis`, but does not support CJK languages and is therefore considered unsupported.""Partial support refers to incorrect support for `-webkit-text-emphasis-position`. These browsers support `over` and `under` as values, but not the added `left` and `right` values required by the spec."9.2154.43"text-emphasis,text-emphasis-position,text-emphasis-style,text-emphasis-color""midi""Web MIDI API""The Web MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices""http://webaudio.github.io/web-midi-api/""https://github.com/cwilso/WebMIDIAPIShim"0.13"webmidiapi""4923613069180928""canvas-blending""Canvas blend modes""Method of defining the effect resulting from overlaying two layers on a Canvas element. ""http://www.w3.org/TR/compositing-1/#blending""http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/"70.95"compositingandblendingincanvas2d""clipboard""Clipboard API""API to provide copy, cut and paste events as well as provide access to the OS clipboard.""http://www.w3.org/TR/clipboard-apis/""https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent""MDN page on ClipboardEvent""https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/""Guide on cross-platform clipboard access""Internet Explorer will display a security prompt for access to the OS clipboard.\r\n\r\nChrome 42+ and Opera 29+ support clipboard reading/writing only when part of a user action (click, keydown, etc)\r\n\r\nFirefox users [can enable support](https://developer.mozilla.org/en-US/docs/Midas/Security_preferences) with a security preference setting.""Only supports `Text` and `URL` data types and uses [a non-standard method](http://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.aspx) of interacting with the clipboard.""Only fires `copy` event on a valid selection and only `cut` and `paste` in focused editable fields.""Only supports OS clipboard reading/writing via shortcut keys, not through `document.execCommand()`."63.71"cut,copy,paste,clipboarddata""clipboardapi""rtcpeerconnection""WebRTC Peer-to-peer connections""Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API.""http://www.w3.org/TR/webrtc/#peer-to-peer-connections""http://www.webrtc.org/""WebRTC Project site""BlackBerry 10 recognizes RTCPeerConnection but real support is unconfirmed."57.36"webrtcwebrtcv10api""6612462929444864""css3-cursors""CSS3 Cursors (original values)""CSS3 cursor values added in the 2004 spec, including none, context-menu, cell, vertical-text, alias, copy, no-drop, not-allowed, nesw-resize, nwse-resize, col-resize, row-resize and all-scroll. ""http://www.w3.org/TR/css3-ui/#cursor""https://developer.mozilla.org/en-US/docs/Web/CSS/cursor""MDN Documentation""Partial support in IE refers to no support for the alias, cell, copy, ew-resize, ns-resize, nesw-resize, nwse-resize or context-menu cursors. Opera 12.10- does not support 'none' or a URI."61.973.09"cursors, pointers""css3-cursors-newer""CSS3 Cursors (new values)""Support for `zoom-in` and `zoom-out` values for the CSS3 `cursor` property.""Chrome, Safari and Firefox also support the unofficial `grab` and `grabbing` values (with prefix)"51.62"webvtt""WebVTT - Web Video Text Tracks""Format for marking up text captions for multimedia resources.""http://dev.w3.org/html5/webvtt/""http://www.html5rocks.com/en/tutorials/track/basics/""Getting Started With the Track Element""https://dev.opera.com/articles/view/an-introduction-to-webvtt-and-track/""An Introduction to WebVTT and track""WebVTT must be used with the <track> element.\r\n\r\nFirefox currently lacks support for the ::cue pseudo-element."80.69"captions,track""6719115557339136""promises""Promises""A promise represents the eventual result of an asynchronous operation.""https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects""http://promises-aplus.github.io/promises-spec/""Promises/A+ spec""http://www.chromestatus.com/features/5681726336532480""Chromium dashboard - ES6 Promises""http://www.html5rocks.com/en/tutorials/es6/promises/""JavaScript Promises: There and back again - HTML5 Rocks""https://github.com/jakearchibald/ES6-Promises""A polyfill for ES6-style Promises"64.750.25"futures""5681726336532480""css-sticky""CSS position:sticky""Keeps elements positioned as \"fixed\" or \"relative\" depending on how it appears in the viewport. As a result the element is \"stuck\" when necessary while scrolling.""http://dev.w3.org/csswg/css-position/#sticky-positioning""http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit""HTML5Rocks""https://developer.mozilla.org/en-US/docs/Web/CSS/position""https://github.com/filamentgroup/fixed-sticky""https://github.com/wilddeer/stickyfill""Another polyfill""Can be enabled in Firefox by setting the about:config preference layout.css.sticky.enabled to true"20.74"positionsticky""6190250464378880""dialog""Dialog element""Method of easily creating custom dialog boxes to display to the user with modal or non-modal options. Also includes a `::backdrop` pseudo-element for behind the element.""https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element""https://github.com/GoogleChrome/dialog-polyfill""Enabled through the \"Experimental Web Platform features\" flag in `chrome://flags`""Enabled through the \"Experimental Web Platform features\" flag in `opera://flags`"42.59"HTMLDialogElement,showModal,backdrop""dialogelementformodals""5770237022568448""css-variables""CSS Variables""Permits the declaration and usage of cascading variables in stylesheets.""http://www.w3.org/TR/css-variables/""https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/""Mozilla hacks article (older syntax)""https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables"11.14"css variables""cssvariables""6401356696911872""vibration""Vibration API""Method to access the vibration mechanism of the hosting device.""http://www.w3.org/TR/vibration/""https://developer.mozilla.org/en-US/docs/Web/Guide/API/Vibration""http://davidwalsh.name/vibration-api""Vibration API sample code & demo""http://code.tutsplus.com/tutorials/html5-vibration-api--mobile-22585""Tuts+ article""http://aurelio.audero.it/demo/vibration-api-demo.html""http://www.illyism.com/journal/vibration-api""Article and Usage Examples"65.27"vibration,mobile,device""vibrationapi""5698768766763008""css-backgroundblendmode""CSS background-blend-mode""Allows blending between CSS background images, gradients, and colors.""http://www.w3.org/TR/compositing-1/#background-blend-mode""http://codepen.io/bennettfeely/pen/rxoAc""codepen example""https://medium.com/web-design-technique/6b51bf53743a""http://bennettfeely.com/gradients""Partial in Safari refers to not supporting the `hue`, `saturation`, `color`, and `luminosity` blend modes."55.11"css blend modes,css blending modes,blending,multiply,screen,background""5768037999312896""css-mixblendmode""Blending of HTML/SVG elements""Allows blending between arbitrary SVG and HTML elements""http://www.w3.org/TR/compositing-1/#mix-blend-mode""http://codepen.io/bennettfeely/pen/csjzd""http://css-tricks.com/basics-css-blend-modes/"38.98"mix-blend-mode,css blend modes,css blending modes""mixblendmode""6362616360337408""web-speech""Web Speech API""Method to provide speech input and text-to-speech output features in a web browser.""https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html""http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-API""http://www.sitepoint.com/introducing-web-speech-api/""http://aurelio.audero.it/demo/web-speech-api-demo.html""http://zenorocha.github.io/voice-elements/""Advanced demo and resource""Partial support in Chrome refers to some attributes missing. Partial support in Safari refers to only Speech Synthesis supported."55.66"speech,recognition,ASR""webspeechapiinput""5908775487668224""high-resolution-time""High Resolution Time API""Method to provide the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments. Called using `performance.now()`""http://www.w3.org/TR/hr-time/""https://developer.mozilla.org/en-US/docs/Web/API/Performance.now()""http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-now""http://www.sitepoint.com/discovering-the-high-resolution-time-api/""http://aurelio.audero.it/demo/high-resolution-time-api-demo.html"77.38"performance,now,testing""highresolutiontime""5349124069130240""battery-status""Battery Status API""Method to provide information about the battery status of the hosting device.""http://www.w3.org/TR/battery-status/""https://developer.mozilla.org/en-US/docs/WebAPI/Battery_Status""MDN Docs""http://www.smartjava.org/examples/webapi-battery/""Partial support refers to support for the older specification's `navigator.battery` rather than `navigator.getBattery()` to access the `BatteryManager`."41.5316.39"navigator.battery,navigator.getbattery,batterymanager""batterystatusapi""4537134732017664""serviceworkers""Service Workers""Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.""https://slightlyoff.github.io/ServiceWorker/spec/service_worker/""http://www.html5rocks.com/en/tutorials/service-worker/introduction/""HTML5Rocks article (introduction)""https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API""https://jakearchibald.github.io/isserviceworkerready/resources.html""List of various resources""Details on partial support can be found on [is ServiceWorker Ready?](https://jakearchibald.github.io/isserviceworkerready/)""Partial support can be enabled in Firefox with the `dom.serviceWorkers.enabled` flag."39.78"serviceworker""6561526227927040""text-decoration""text-decoration styling""Method of defining the type, style and color of lines in the text-decoration property. These can be defined as shorthand (e.g. `text-decoration: line-through dashed blue`) or as single properties (e.g. `text-decoration-color: blue`)""http://www.w3.org/TR/css-text-decor-3/#line-decoration""https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style""MDN Documentation for text-decoration-style""https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color""MDN Documentation for text-decoration-color""https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line""MDN Documentation for text-decoration-line""n x d #1""All browsers support the CSS2 version of `text-decoration`, which matches only the `text-decoration-line` values (`underline`, etc.)""Partial support in Safari refers to not supporting the text-decoration-style property."12.21"text-decoration-line,text-decoration-style,text-decoration-color""speech-synthesis""Speech Synthesis API""A web API for controlling a text-to-speech output.""https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section""http://updates.html5rocks.com/2014/01/Web-apps-that-talk---Introduction-to-the-Speech-Synthesis-API""http://www.sitepoint.com/talking-web-pages-and-the-speech-synthesis-api/""http://aurelio.audero.it/demo/speech-synthesis-api-demo.html"54.11"speech,synthesis,speechSynthesis,TTS,SpeechSynthesisUtterance,""webspeechapisynthesis""4782875580825600""user-timing""User Timing API""Method to help web developers measure the performance of their applications by giving them access to high precision timestamps.""http://www.w3.org/TR/user-timing/""http://www.sitepoint.com/discovering-user-timing-api/""http://www.html5rocks.com/en/tutorials/webperformance/usertiming/""https://gist.github.com/pmeenan/5902672""http://aurelio.audero.it/demo/user-timing-api-demo.html""https://github.com/nicjansma/usertiming.js""UserTiming.js polyfill"59.16"performance,testing,mark,measure""usertimingapi""5066549580791808""srcset""Srcset attribute""Allows authors to define various image resources and \"hints\" that assist a user agent to determine the most appropriate image source to display (e.g. high-resolution displays, small monitors, etc).""https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset""https://www.webkit.org/blog/2910/improved-support-for-high-resolution-displays-with-the-srcset-image-attribute/""Improved support for high-resolution displays with the srcset image attribute""Can be enabled in Firefox by setting the about:config preference dom.image.srcset.enabled to true""Supports the subset of the syntax for resolution switching (using the `x` descriptor), but not the full syntax that can be used with `sizes` (using the `w` descriptor)."41.5510.54"imgsrcset""4644337115725824""ambient-light""Ambient Light API""Defines events that provide information about the ambient light level, as measured by a device's light sensor.""http://www.w3.org/TR/ambient-light/""http://aurelio.audero.it/demo/ambient-light-api-demo.html""http://modernweb.com/2014/05/27/introduction-to-the-ambient-light-api/""Article""Partial support in desktop Firefox refers to support being limited to Mac OS X. [Support for Windows 7 is in progress](https://bugzilla.mozilla.org/show_bug.cgi?id=754199)"11.57"ambientlightevents""5298357018820608""will-change""CSS will-change property""Method of optimizing animations by informing the browser which elements will change and what properties will change.""http://dev.w3.org/csswg/css-will-change/""https://dev.opera.com/articles/css-will-change-property/""Detailed article""http://aerotwist.com/blog/bye-bye-layer-hacks/""Supported in Firefox behind the `layout.css.will-change.enabled` flag"51.57"scroll-position""csswillchange""5954199330226176""css-shapes""CSS Shapes Level 1""Allows geometric shapes to be set in CSS to define an area for text to flow around.""http://www.w3.org/TR/css-shapes/""http://html.adobe.com/webplatform/layout/shapes/""http://html.adobe.com/webplatform/layout/shapes/browser-support/""CSS shapes support test by Adobe""http://alistapart.com/article/css-shapes-101""circle,ellipse,polygon,inset,shape-outside,shape-inside""shapes""5163890719588352""domcontentloaded""DOMContentLoaded""JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.).""https://html.spec.whatwg.org/multipage/syntax.html#stop-parsing""https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoaded""MDN: DOMContentLoaded""dom,domready,onload,contentloaded,document""proximity""Proximity API""Defines events that provide information about the distance between a device and an object, as measured by a proximity sensor.""http://www.w3.org/TR/proximity/""http://aurelio.audero.it/demo/proximity-api-demo.html""http://www.sitepoint.com/introducing-proximity-api/""kerning-pairs-ligatures""Improved kerning pairs & ligatures""Currently non-standard method of improving kerning pairs & ligatures using text-rendering: optimizeLegibility.""http://www.w3.org/TR/SVG11/painting.html#TextRenderingProperty""https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering""http://css-tricks.com/almanac/properties/t/text-rendering/"79.71"optimizeLegibility,optimizeSpeed,geometricPrecision""iframe-seamless""seamless attribute for iframes""The seamless attribute makes an iframe's contents actually part of a page, and adopts the styles from its hosting page. ""https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-seamless""https://github.com/ornj/seamless-polyfill""Experimental polyfill""http://labs.ft.com/2013/01/seamless-iframes-not-quite-seamless/""https://bugzilla.mozilla.org/show_bug.cgi?id=631218""Chrome 20-26 had partial support behind a flag, though this was [later removed](http://crbug.com/229421). \r\n\r\nSafari 7 (& iOS 7 Safari) hides the border of seamless iframes and recognizes the 'seamless' DOM property, but does not provide actual support.""iframeseamlessattribute""6630329993396224""css-image-orientation""CSS3 image-orientation""CSS property used generally to fix the intended orientation of an image. This can be done using 90 degree increments or based on the image's EXIF data using the \"from-image\" value.""http://www.w3.org/TR/css3-images/#image-orientation""https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation""http://sethfowler.org/blog/2013/09/13/new-in-firefox-26-css-image-orientation/""http://jsbin.com/EXUTolo/4""Demo (Chinese)""Partial support in iOS refers to the browser using EXIF data by default, though it does not actually support the property. Opening the image in a new tab in Chrome results in the image shown in the orientation according to the EXIF data."11.527.07"image-orientation,from-image,flip""picture""Picture element""A responsive images method to control which image resource a user agent presents to a user, based on resolution, media query and/or support for a particular image format""https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element""http://responsiveimages.org/demos/""http://code.tutsplus.com/tutorials/better-responsive-images-with-the-picture-element--net-36583""http://usecases.responsiveimages.org/""Read about the use cases""http://responsiveimages.org/""General information about Responsive Images""https://dev.opera.com/articles/responsive-images/""http://www.html5rocks.com/tutorials/responsive/picture-element/""https://github.com/scottjehl/picturefill""Picturefill - polyfill for picture, srcset, sizes, and more""n d #3""Enabled in Opera through the \"experimental Web Platform features\" flag in opera://flags""Enabled in Firefox by setting the about:config preference dom.image.picture.enable to true""<picture>""pictureelement""5910974510923776""woff2""WOFF 2.0 - Web Open Font Format""TrueType/OpenType font that provides better compression than WOFF 1.0.""http://www.w3.org/TR/WOFF2/""https://gist.github.com/sergejmueller/cf6b4f2133bcb3e2f64a""Basics about WOFF 2.0""http://everythingfonts.com/ttf-to-woff2""WOFF 2.0 converter""Default 'enabled' for Firefox Developer Edition and Nightly, but Beta and Release versions will need to set a flag to 'true' to [use WOFF2](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face#Browser_compatibility)."43.46"woff, fontface, webfonts""wofffileformat20""6718644721549312""text-size-adjust""CSS text-size-adjust""On mobile devices, the text-size-adjust CSS property allows Web authors to control if and how the text-inflating algorithm is applied to the textual content of the element it is applied to.""http://dev.w3.org/csswg/css-size-adjust/""https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust"12.17"web-animation""Web Animations API""Lets you create animations that are run in the browser and as well as inspect and manipulate animations created through declarative means like CSS.""http://w3c.github.io/web-animations/""http://updates.html5rocks.com/2014/05/Web-Animations---element-animate-is-now-in-Chrome-36""HTML5 Rocks""http://updates.html5rocks.com/2013/12/New-Web-Animations-engine-in-Blink-drives-CSS-Animations-Transitions""https://birtles.github.io/areweanimatedyet/""Current Firefox status""a d #3""Partial support refers to basic support of `element.animate()`""Partial support refers to basic support of `element.animate()` and [playback control of AnimationPlayer](https://www.chromestatus.com/features/5633748733263872)""Partial support in Firefox is detailed in [Are we animated yet?](https://birtles.github.io/areweanimatedyet/)"53.33"animate,play,pause,reverse,finish,currentTime,startTime,playbackRate,playState""webanimationsjavascriptapi""4854343836631040,5633748733263872""resource-timing""Resource Timing""Method to help web developers to collect complete timing information related to resources on a document.""http://www.w3.org/TR/resource-timing/""http://aurelio.audero.it/demo/resource-timing-api-demo.html""http://googledevelopers.blogspot.com/2013/12/measuring-network-performance-with.html""http://www.sitepoint.com/introduction-resource-timing-api/""Can be enabled in Firefox using the dom.enable_resource_timing flag"68.69"performance,testing,resource""resourcetimingapi""5796350423728128""custom-elements""Custom Elements""Method of defining and using new types of DOM elements in a document.""http://www.w3.org/TR/custom-elements/""http://w3c.github.io/webcomponents/spec/custom/""W3C Editor's Draft spec (closer to current implementations)""http://www.polymer-project.org/platform/custom-elements.html""http://www.html5rocks.com/tutorials/webcomponents/customelements/""HTML5Rocks - Custom Elements: defining new elements in HTML""https://code.google.com/p/chromium/issues/detail?id=234509""Chromium tracking bug: Implement Custom Elements""https://bugzilla.mozilla.org/show_bug.cgi?id=889230""Firefox tracking bug: Implement Custom Elements (from Web Components)""http://status.modern.ie/customelements""IE Web Platform Status and Roadmap: Custom Elements""Enabled through the \"dom.webcomponents.enabled\" preference in about:config"45.5"customelements""4642138092470272""imports""HTML Imports""Method of including and reusing HTML documents in other HTML documents.""http://www.w3.org/TR/html-imports/""http://www.polymer-project.org/platform/html-imports.html""http://www.html5rocks.com/tutorials/webcomponents/imports/""HTML5Rocks - HTML Imports: #include for the web""https://code.google.com/p/chromium/issues/detail?id=240592""Chromium tracking bug: Implement HTML Imports""https://bugzilla.mozilla.org/show_bug.cgi?id=877072""Firefox tracking bug: Implement HTML Imports""http://status.modern.ie/htmlimports""IE Web Platform Status and Roadmap: HTML Imports""p d #3""n d #4""p d #5""Firefox [has no plans to support HTML imports](https://hacks.mozilla.org/2014/12/mozilla-and-web-components/) though for now it can be enabled through the \"dom.webcomponents.enabled\" preference in about:config""Enabled through the \"Enable HTML Imports\" flag in chrome://flags""Enabled through the \"Experimental Web Platform features\" flag in chrome://flags""Enabled through the \"Enable HTML Imports\" flag in opera://flags""Enabled through the \"Experimental Web Platform features\" flag in opera://flags"43.45"htmlimports""5144752345317376""input-file-multiple""Multiple file selection""Allows users to select multiple files in the file picker.""https://html.spec.whatwg.org/multipage/forms.html#attr-input-multiple""https://code.google.com/p/chromium/issues/detail?id=348912""Chrome bug (for Android)""http://www.raymondcamden.com/2012/2/28/Working-with-HTML5s-multiple-file-upload-support""Not supported when tested on Android, presumably an OS limitation. "67.8"atob-btoa""Base64 encoding and decoding""Utility functions for of encoding and decoding strings to and from base 64: window.atob() and window.btoa().""https://html.spec.whatwg.org/multipage/webappapis.html#atob""https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa""MDN article on btoa()""https://developer.mozilla.org/en-US/docs/Web/API/Window.atob""MDN article on atob()""https://github.com/davidchambers/Base64.js"93.06"atob,btoa""css-appearance""CSS Appearance""The `appearance` property defines how elements (particularly form controls) appear by default. By setting the value to `none` the default appearance can be entirely redefined using other CSS properties.""http://wiki.csswg.org/spec/css4-ui#appearance""http://css-tricks.com/almanac/properties/a/appearance/""The `appearance` property currently does not appear in any CSS specification so there is no specifically correct usage.""`-webkit-appearance` with value `none` is supported on IE11 Mobile for phones with \"[Windows Phone 8.1 Update](http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx)\", and in EdgeHTML.dll""css-background-offsets""CSS background-position edge offsets""Allows CSS background images to be positioned relative to the specified edge using the 3 to 4 value syntax. For example: `background-position: right 5px bottom 5px;` for positioning 5px from the bottom-right corner.""http://www.w3.org/TR/css3-background/#background-position""https://developer.mozilla.org/en-US/docs/Web/CSS/background-position""MDN article on background-position""http://briantree.se/quick-tip-06-use-four-value-syntax-properly-position-background-images/""Basic information"85.82"4 value syntax""css-supports-api""CSS.supports() API""The CSS.supports() static methods returns a Boolean value indicating if the browser supports a given CSS feature, or not.""http://dev.w3.org/csswg/css-conditional/#the-css-interface""https://developer.mozilla.org/en-US/docs/Web/API/CSS.supports""http://jsbin.com/rimevilotari/1/edit""https://dev.opera.com/articles/native-css-feature-detection/""Native CSS Feature Detection via the @supports Rule""http://davidwalsh.name/css-supports""CSS @supports""http://blog.csdn.net/hfahe/article/details/8619480""Article (Chinese)""See also [@supports in CSS](#feat=css-featurequeries)\r\n\r\nSee the [WebKit Bug](http://trac.webkit.org/changeset/142739) for status in Safari""Opera 12 uses a different method name('window.supportsCSS')"60.93"conditional""css-touch-action""CSS touch-action property""touch-action is a CSS property that controls filtering of gesture events, providing developers with a declarative mechanism to selectively disable touch scrolling (in one or both axes), pinch-zooming or double-tap-zooming.""http://www.w3.org/TR/pointerevents/#the-touch-action-css-property""http://docs.webplatform.org/wiki/css/properties/touch-action""http://msdn.microsoft.com/en-us/library/windows/apps/hh767313.aspx""MSDN Docs""http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away""300ms tap delay, gone away""http://blogs.telerik.com/appbuilder/posts/13-11-21/what-exactly-is.....-the-300ms-click-delay""What Exactly Is..... The 300ms Click Delay""http://thx.github.io/mobile/300ms-click-delay/""What Exactly Is..... The 300ms Click Delay(Chinese)""y x #2""Supported in Firefox behind the `layout.css.touch_action.enabled` flag, Firefox for Windows 8 Touch ('Metro') enabled by default.""IE10+ has already supported these property which are not in standard at present such as'pinch-zoom','double-tap-zoom','cross-slide-x','cross-slide-y'."53.44"touch action""csstouchaction""5912074022551552""autofocus""Autofocus attribute""Allows a form field to be immediately focused on page load.""https://html.spec.whatwg.org/multipage/forms.html#autofocusing-a-form-control:-the-autofocus-attribute""http://davidwalsh.name/autofocus""Article on autofocus""While not supported in iOS Safari, it does work in iOS WebViews."78.64"css-clip-path""CSS clip-path property""Method of defining the visible region of an element using SVG or a shape definition.""http://www.w3.org/TR/css-masking-1/#the-clip-path""http://css-tricks.com/almanac/properties/c/clip/""Partial support refers to only supporting the `url()` syntax.""Partial support refers to supporting shapes and the `url(#foo)` syntax for inline SVG, but not shapes in external SVGs."71.47"getrandomvalues""crypto.getRandomValues()""Method of generating cryptographically random values.""http://www.w3.org/TR/WebCryptoAPI/#RandomSource-method-getRandomValues""https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues"80.16"screen-orientation""Screen Orientation""Provides the ability to read the screen orientation state, to be informed when this state changes, and to be able to lock the screen orientation to a specific state.""http://www.w3.org/TR/screen-orientation/""http://aurelio.audero.it/demo/screen-orientation-api-demo.html""https://developer.mozilla.org/en-US/docs/Web/API/Screen.orientation""http://www.sitepoint.com/introducing-screen-orientation-api/""Partial support refers to an older version of the draft specification, and the spec has undergone significant changes since."45.9120.25"screenorientationapi""6191285283061760""font-loading""CSS Font Loading""This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script. It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page.""http://dev.w3.org/csswg/css-font-loading/""https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance/#font-load-events""Optimizing with font load events""Can be enabled in Firefox using the `layout.css.font-loading-api.enabled` flag. See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1149381) for information on when it will be enabled by default."43.89"6244676289953792""font-unicode-range""Font unicode-range subsetting""This @font-face descriptor defines the set of Unicode codepoints that may be supported by the font face for which it is declared. The descriptor value is a comma-delimited list of Unicode range (<urange>) values. The union of these ranges defines the set of codepoints that serves as a hint for user agents when deciding whether or not to download a font resource for a given text run.""http://dev.w3.org/csswg/css-fonts/#descdef-unicode-range""https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-range""MDN: unicode-range""https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/css/property/unicode-range""Safari CSS Reference: unicode-range""http://docs.webplatform.org/wiki/css/properties/unicode-range""Web Platform Docs: unicode-range""http://jsbin.com/jeqoguzeye/1/edit?html,output""Partial support indicates that unnecessary code-ranges are downloaded by the browser - see [browser test matrix](https://docs.google.com/a/chromium.org/spreadsheets/d/18h-1gaosu4-KYxH8JUNL6ZDuOsOKmWfauoai3CS3hPY/edit?pli=1#gid=0).""Can be enabled in Firefox using the `layout.css.unicode-range.enabled` flag"35.69"font face,unicode,unicode-range""gamepad""Gamepad API""API to support input from USB gamepad controllers though JavaScript.""http://www.w3.org/TR/gamepad/""http://luser.github.io/gamepadtest/""Controller demo""https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API""http://www.html5rocks.com/en/tutorials/doodles/gamepad/""http://gamedevelopment.tutsplus.com/tutorials/using-the-html5-gamepad-api-to-add-controller-support-to-browser-games--cms-21345""Detailed tutorial"45.93"gamepadapi""5118776383111168""css-font-stretch""CSS font-stretch""If a font has multiple types of variations based on the width of characters, the `font-stretch` property allows the appropriate one to be selected. The property in itself does not cause the browser to stretch to a font.""http://www.w3.org/TR/css-fonts-3/#font-stretch-prop""https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch""http://css-tricks.com/almanac/properties/f/font-stretch/"23.78"font stretch""cssfontstretch""4598830058176512""font-size-adjust""CSS font-size-adjust""Method of adjusting the font size in a matter that relates to the height of lowercase vs. uppercase letters. This makes it easier to set the size of fallback fonts.""http://www.w3.org/TR/css-fonts-3/#font-size-adjust-prop""http://webdesignernotebook.com/css/the-little-known-font-size-adjust-css3-property/""Article on font-size-adjust""https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust""MDN article on font-size-adjust""Does not appear to work on Firefox mobile, despite recognition of the property."12.25"link-icon-png""PNG favicons""Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the PNG format can be preferable.""https://html.spec.whatwg.org/multipage/semantics.html#rel-icon""http://css-tricks.com/favicon-quiz/""Detailed info on favicons for various uses""y #3""n #4""Win8/IE10+ and iOS Safari support other types of icons for webpages too, using alternate tags.\r\n\r\nSee also [SVG favicons](#feat=link-icon-svg).""If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set.""If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set.""If multiple formats are available, will use the last one loaded, regardless of sizes (effectively picks at random).""Does not use favicons at all (but may have alternative for bookmarks, etc.)."81.21"link-icon-svg""SVG favicons""Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the SVG format can be preferable to more easily support higher resolutions or larger icons.""http://crbug.com/294179""Chrome bug""See also [PNG favicons](#feat=link-icon-png).""Does not use favicons at all""Partial support in Firefox refers to only loading the SVG favicon the first time, but not [on subsequent loads](https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c14)."12.11"css-media-resolution""Media Queries: resolution feature""Allows a media query to be set based on the device pixels used per CSS unit. While the standard uses `min`/`max-resolution` for this, some browsers support the older non-standard `device-pixel-ratio` media query.""http://www.w3.org/TR/css3-mediaqueries/#resolution""http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/""How to unprefix -webkit-device-pixel-ratio""Supports the `dpi` unit, but does not support `dppx` or `dpcm` units.""Firefox before 16 supports only `dpi` unit, but you can set `2dppx` per `min--moz-device-pixel-ratio: 2`""Support the non-standard `min`/`max-device-pixel-ratio`"61.1733.39"@media,device-pixel-ratio,resolution""mediaqueriesresolutionfeature,dppxunitfortheresolutionmediaquery""5944509615570944""xml-serializer""DOM Parsing and Serialization""Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `adjacentHTML`.""http://www.w3.org/TR/DOM-Parsing/""https://developer.mozilla.org/en-US/docs/XMLSerializer""MDN - XMLSerializer""Partial support refers to lacking support for `parseFromString` on the DOMParser.""Partial support in older IE refers to only supporting `innerHTML`, nothing else."78.9415.4"parseFromString""css-image-set""CSS image-set""Method of letting the browser pick the most appropriate CSS background image from a given set, primarily for high PPI screens.""http://dev.w3.org/csswg/css-images-3/#image-set-notation""http://cloudfour.com/examples/image-set/"59.79"css-boxdecorationbreak""CSS box-decoration-break""Controls whether the box's margins, borders, padding, and other decorations wrap the broken edges of the box fragments (when the box is split by a break (page/column/region/line).""http://www.w3.org/TR/css3-break/#break-decoration""https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break""http://jsbin.com/xojoro/edit?css,output""Demo of effect on box border"73.09"box-decoration,box decoration,break""object-observe""Object.observe data binding""Method for data binding, part of the ECMAScript 7 proposals""http://wiki.ecmascript.org/doku.php?id=harmony:observe""http://www.html5rocks.com/en/tutorials/es7/observe/""Data-binding Revolutions with Object.observe()""objectobserve""6147094632988672""broadcastchannel""BroadcastChannel""BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers) to send each other messages.""https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-browsing-contexts""https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel""broadcast,channel,messaging""4585496197988352""css-crisp-edges""Crisp edges/pixelated images""Forces images to be scaled with an algorithm that preserves contrast and edges in the image, without smoothing colors or introduce blur. This is intended for images such as pixel art. Official values that accomplish this for the `image-rendering` property are `crisp-edges` and `pixelated`.""http://dev.w3.org/csswg/css-images-3/#valdef-image-rendering-crisp-edges""https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering""http://updates.html5rocks.com/2015/01/pixelated""y #4""Note that prefixes apply to the value (e.g. `-moz-crisp-edges`), not the `image-rendering` property.""Supported using the non-standard value `-webkit-optimize-contrast`""Internet Explorer accomplishes support using the non-standard declaration `-ms-interpolation-mode: nearest-neighbor`""Supports the `crisp-edges` value, but not `pixelated`.""Supports the `pixelated` value, but not `crisp-edges`."51.8118.47"image-rendering,crisp-edges""5118058116939776""css-text-align-last""CSS3 text-align-last""CSS property to describe how the last line of a block or a line right before a forced line break when `text-align` is `justify`.""http://www.w3.org/TR/css3-text/#text-align-last-property""https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last""MDN text-align-last""http://blogs.adobe.com/webplatform/2014/02/25/improving-your-sites-visual-details-css3-text-align-last/""Adobe Web Platform Article""In Internet Explorer, the start and end values are not supported.""Enabled through the \"Enable Experimental Web Platform Features\" flag in chrome://flags""Enabled through the \"Enable Experimental Web Platform Features\" flag in opera://flags"12.0914.15"text align last""css-logical-props""CSS Logical Properties""Use start/end properties that depend on LTR or RTL writing direction instead of left/right""http://dev.w3.org/csswg/css-logical-props/""https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-margin-start""MDN -moz-margin-start""https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-padding-start""MDN -moz-padding-start""Only supports the *-start, and *-end values for `margin`, `border` and `padding`, not the inline/block type values as defined in the spec.""Like #1 but also supports `*-before` and `*-end` for `*-block-start` and `*-block-end` properties as well as `start` and `end` values for `text-align`"79.96"margin-start,margin-end,padding-start,padding-end,border-start,border-end,inline-start,inline-end,block-start,block-end""fetch""Fetch""A modern replacement for XMLHttpRequest.""https://fetch.spec.whatwg.org/""https://github.com/github/fetch""http://addyosmani.com/demos/fetch-api/""Partial support can be enabled in Firefox with the `dom.fetch.enabled` flag.""Only available in Chrome and Opera within ServiceWorkers.""Available in Chrome and Opera within Window and Workers by enabling the \"Experimental Web Platform Features\" flag in `chrome://flags`"0.2839.47"fetch,service,workers,xhr,xmlhttprequest""fetchapi""6730533392351232""background-attachment""CSS background-attachment""Method of defining how a background image is attached to a scrollable element. Values include `scroll` (default), `fixed` and `local`.""http://www.w3.org/TR/css3-background/#the-background-attachment""https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment""Most mobile devices have a delay in updating the background position after scrolling a page with `fixed` backgrounds.""Partial support refers to supporting `fixed` but not `local`""Partial support refers to supporting `local` but not `fixed`"68.1822.33"currentcolor""CSS currentColor value""A CSS value that will apply the existing `color` value to other properties like `background-color`, etc. ""http://www.w3.org/TR/css3-color/#currentcolor""https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentColor_keyword""http://css-tricks.com/currentcolor/"94.72"input-pattern""Pattern attribute for input fields""Allows validation of an input field based on a given regular expression pattern.""https://html.spec.whatwg.org/multipage/forms.html#the-pattern-attribute""http://html5pattern.com""Site with common sample patterns ""Partial support refers to not displaying a message for invalid patterns"73.350.73"registerprotocolhandler""Custom protocol handling""Method of allowing a webpage to handle a given protocol using `navigator.registerProtocolHandler`. This allows certain URLs to be opened by a given web application, for example `mailto:` addresses can be opened by a webmail client.""https://html.spec.whatwg.org/multipage/webappapis.html#custom-handlers""https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler""Supports protocols `mailto`, `mms`, `nntp`, `rtsp`, and `webcal` but requires custom protocols to start with `web+`"47.48"css-snappoints""CSS Scroll snap points""CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap points.""http://www.w3.org/TR/css-snappoints-1/""http://generatedcontent.org/post/66817675443/setting-native-like-scrolling-offsets-in-css-with""Currently in development in WebKit with partial support in nightly builds.""Partial support in IE10 refers to support limited to touch screens.""Partial support in IE11 [documented here](https://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap-points/support.html)""Can be enabled in Firefox using the `layout.css.scroll-snap.enabled` flag in `about:config`""scroll-snap-points-x,scroll-snap-points-y,scroll-snap-type,scroll-snap-destination,scroll-snap-coordinate""cssscrollingsnappoints""input-minlength""Minimum length attribute for input fields""Declares a lower bound on the number of characters a user can input.""https://html.spec.whatwg.org/multipage/forms.html#the-maxlength-and-minlength-attributes""http://www.w3.org/TR/html5/forms.html#setting-minimum-input-length-requirements:-the-minlength-attribute""W3C usage example"39.74"6023370181181440""css-media-interaction""Media Queries: interaction media features""Allows a media query to be set based on the presence and accuracy of the user's pointing device, and whether they have the ability to hover over elements on the page. This includes the `pointer`, `any-pointer`, `hover`, and `any-hover` media features.""http://www.w3.org/TR/mediaqueries-4/#mf-interaction""http://jordanm.co.uk/2013/11/11/potential-use-cases-for-script-hover-and-pointer.html""Potential use cases for script, hover and pointer CSS Level 4 Media Features""https://dev.opera.com/articles/media-features/""Interaction Media Features and their potential (for incorrect assumptions)"29.01"@media,interation,hover,any-hover,pointer,any-pointer""mediaquerieslevel4interactionmediafeaturespointerandhover""6460705494532096""ime""Input Method Editor API""Provides scripted access to the Input Method Editor (IME). An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions.""http://www.w3.org/TR/ime-api/""http://blogs.msdn.com/b/ie/archive/2014/03/31/building-better-input-experience-for-east-asian-users-with-the-ime-api-in-ie11.aspx""Building Better Input Experience for East Asian Users with the IME API in IE11""y x #1""Prefixed implementation uses `msGetInputContext()` method from an earlier version of the spec to get the `InputMethodContext`, rather than the `inputMethodContext` attribute. Also includes support for `getCompositionAlternatives()` from the latest E""ime,cjk,input,internationalization,inputMethodContext,candidatewindow,composition""imeapi""6366722080636928""font-smooth""CSS font-smooth""Controls the application of anti-aliasing when fonts are rendered.""http://www.w3.org/TR/WD-font/#font-smooth""https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth""Old version of W3C recommendation containing font-smooth""a x #2 #3""a x #1 #3""Though present in early (2002) drafts of CSS3 Fonts, `font-smooth` has been removed from this specification and is currently not on the standard track.""Webkit implements something similar with a different name `-webkit-font-smoothing` and different values: `none`, `antialiased` and `subpixel-antialiased`.""Firefox implements something similar with a different name `-moz-osx-font-smoothing` and different values: `auto`, `inherit`, `unset`, `grayscale`.""Works only on Mac OS X platform."50.44"font smooth,font smoothing,-webkit-font-smoothing,-moz-osx-font-smoothing""permissions-api""Permissions API""High-level JavaScript API for checking and requesting permissions""https://w3c.github.io/permissions/""http://updates.html5rocks.com/2015/04/permissions-api-for-the-web""Permission API samples and examples""web-permissions,navigator.permissions""6376494003650560""bugs""iOS Safari has buggy behavior with `background-size: cover;` on a page's body.""iOS Safari has buggy behavior with `background-size: cover;` + `background-attachment: fixed;`""shown""Safari does not apply `border-radius` correctly to image borders: http://stackoverflow.com/q/17202128""Android Browser 2.3 does not support % value for `border-radius`.""Border-radius does not work on fieldset elements in IE9.""The stock browser on the Samsung Galaxy S4 with Android 4.2 does not support the `border-radius` shorthand property but does support the long-hand properties for each corner like `border-top-left-radius`.""Older versions of Safari [had a bug](https://bugs.webkit.org/show_bug.cgi?id=50072) where background images would bleed out of the border-radius.""IE10 crashes when a div with a property using `calc()` has a child with [same property with inherit](http://stackoverflow.com/questions/19423384/css-less-calc-method-is-crashing-my-ie10).""IE 9 - 11 don't render `box-shadow` when `calc()` is used for any of the values""IE10 and IE11 don't support using `calc()` inside a `transform`. [Bug report](https://connect.microsoft.com/IE/feedback/details/814380/)""'animation-fill-mode' property is not supported in Android browser below 2.3.""iOS 6.1 and below do not support animation on pseudo-elements.""@keyframes not supported in an inline or scoped stylesheet in Firefox (bug 830056)""Safari 6, iOS 6 and Android 2.3 default browser don't work with a 0px value for \"blur-radius\".\r\ne.g. `-webkit-box-shadow: 5px 1px 0px 1px #f04e29;`\r\ndoesn't work, but\r\n`-webkit-box-shadow: 5px 1px 1px 1px #f04e29`\r\ndoes.""`image-rendering:-webkit-optimize-contrast;` and `-ms-interpolation-mode:nearest-neighbor` do not affect CSS images.""Project Spartan technical preview has a bug where `min-resolution` less than `1dpcm` [is ignored](http://jsfiddle.net/behmjd5t/).""Firefox and Safari do not appear to support [sticky table headers](http://jsfiddle.net/Mf4YT/2/). (see also [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644))""Not supported on any pseudo-elements besides ::before and ::after for Firefox, Chrome 26+, Opera 16+ and IE10+.""Transitionable properties with calc() derived values are not supported below and including IE11 (http://connect.microsoft.com/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transform)""'background-size' is not supported below and including IE10""Android browsers do not calculate correctly the dimensions (width and height) of the HTML select element.""Safari 6.0.x does not use box-sizing on elements with display: table;""IE9 will subtract the width of the scrollbar to the width of the element when set to position: absolute, overflow: auto / overflow-y: scroll""IE 8 ignores `box-sizing: border-box` if min/max-width/height is used.""Chrome has problems selecting options from the `select` element when using `box-sizing: border-box` and browser zoom level is less than 100%.""Firefox [does not yet](https://bugzilla.mozilla.org/show_bug.cgi?id=943918) support `<length>` values""IE10 and IE11 default values for `flex` are `0 0 auto` rather than `0 1 auto`, as per the draft spec, as of September 2013.""In IE10 and IE11, containers with `display: flex` and `flex-direction: column` will not properly calculate their flexed childrens' sizes if the container has `min-height` but no explicit `height` property. [See bug](https://connect.microsoft.com/IE/feedback/details/802625/min-height-and-flexbox-flex-direction-column-dont-work-together-in-ie-10-11-preview).""In Chrome and Safari, the height of (non flex) children are not recognized in percentages. However Firefox and IE recognize and scale the children based on percentage heights. [Chrome bug](http://crbug.com/341310)""Firefox does not support [Flexbox in button elements](https://bugzilla.mozilla.org/show_bug.cgi?id=984869#c2)""[Flexbugs](https://github.com/philipwalton/flexbugs): community-curated list of flexbox issues and cross-browser workarounds for them""IE11 does not [wrap long paragraphs of text](http://jsfiddle.net/y1do9cx8/1/)""IE11 will not apply flexbox on pseudo-elements. [See bug](https://connect.microsoft.com/IE/feedbackdetail/view/1058330/ie11-will-not-apply-flexbox-on-pseudo-elements).""IE 11 doesn't allow going to fullscreen mode when the event that triggers `msRequestFullscreen()` is a `keydown` or `pointerdown` event (`keypress` and `click` do work)""Safari blocks access to keyboard events in fullscreen mode (as a security measure).""IE 11 does not allow scrolling when document.documentElement is set to full screen.""IE 11 does not properly support fullscreen when opening from an iframe.""Opera 12.1 uses the older specificaton's `:fullscreen-ancestor` pseudo-class instead of the  the `::backdrop` pseudo-element.""In Firefox, the property `column-span` (or `-moz-column-span`) does not yet work. See [the bug](https://bugzilla.mozilla.org/show_bug.cgi?id=616436).""In Chrome, the `-webkit-column-count` directive does not yet work with print stylesheets. See the [following bug in Chromium](https://code.google.com/p/chromium/issues/detail?id=99358).""Chrome is reported to incorrectly calculate the container height, and often breaks on margins, padding, and can display 1px of the next column at the bottom of the previous column.""Browsers behave differently when flowing `ol` list numbers in columns: IE and Safari only show numbers for the first column. Chrome does not show any numbers. Only Firefox behaves as expected with numbers showing for all items.""Chrome on Android occasionally has issues rendering emphasis glyphs correctly.""Does not work on `select` elements work in Chrome and IE, only Firefox.""Some Samsung-based browsers, have a bug with overflowing text when ellipsis is set and if `text-rendering` is not `auto`.""Does not work in IE8 and IE9 on `<input type=\"text\">`""There is a bug in Webkit-based desktop browsers. If -webkit-text-size-adjust is explicitely set to none, Webkit-based desktop browsers, like Chrome or Safari, instead of ignoring the property, will prevent the user to zoom in or out the Web page.""If the viewport in IE Phone is set using <meta> element, the value of the CSS text-size-adjust property is ignored.""Scaling transforms in Android 2.3 fails to scale element background images.""IE 10 and below does not support CSS transforms on SVG elements (though SVG transform attributes do work).""Transforms may break position:fixed styles of contained elements""Some configurations of Linux and older Windows machines (those without WebGL support) have trouble with 3D transforms and will treat them as if `perspective` was set as `none`.""Firefox on Windows [incorrectly renders plugin content within no-op 3D transforms](https://bugzilla.mozilla.org/show_bug.cgi?id=1048279).""The `perspective` property doesn't work on the `body` element in Firefox, it must be used on an inner element."GCDfindPrecisionnum2fractiongcdnumeratordenominator_interopRequire__esModule"default"_inheritssubClass"Super expression must either be null or a function, not "_classCallCheckinstanceConstructor"Cannot call a class as a function"Container"./container""atrule"semicolon"@"stringifyRaw"params"afterNamestringifyBlock"before"between";"exist9897"./node""comment""left""commentLeft""right""commentRight""/*""*/"104_prototypePropertiesstaticPropsinstanceProps"./comment"stringifyContent"semicolon""between""beforeOpen""{""start""after""emptyBody""}""end"lastEachindexeseachInside"decl""rule"eachComment_iterator_isArray_i_ref"prepend"replaceValuesfast"number"sample"root"Rule"./rule"/[^\s]/g11199PreviousMap"./previous-map"CssSyntaxErrorcolumn"<css input>"brokenNODE_DISABLE_COLORS"\u001b[1;31m^\u001b[0m""^"setMozillaProps"CssSyntaxError"108"./vendor""colon""value"important_important" !important"101"./css-syntax-error""./parser""?"safeconsumermapResolve"<input css "">"_error_errorWrappergeneratedoriginalPositionForsourceContentForsourceRoot"."106separatorsletter"\\""\"""\t"103Result"./result"Base64"js-base64""source-map"MapGeneratormapOptspreviousMapsisInlineinlineannotationisSourcesContentsourcesContentwithContentclearAnnotation/^# sourceMappingURL=/setSourcesContentsetSourceContentapplyPrevMapsSourceMapConsumerapplySourceMapisAnnotationaddAnnotation"data:application/json;base64,"outputFile".map""\n/*# sourceMappingURL="" */""to.css"generateMap/\\/gsourcePathSourceMapGeneratoraddMappingoriginal/\n/g109114115defaultStyleindent"    "beforeDeclbeforeRulebeforeOpenbeforeClosebeforeCommentemptyBodycommentLeftcommentRight_cloneNode_cloneNodeWrapper"source"removeSelfcloneBeforecloneAftercleanStylesmoveBeforemoveAfterowndetectstyleCache"indent""beforeComment"/[^\n]+$/"beforeDecl""beforeRule""beforeClose"/[^\s:]/gkeepBetween"_"105"./input"tokenizetokenizer"./tokenize"Root"./root"spacesprevMaptokens"word"comment"at-word"atruleemptyRuleendFile/^\s*$//^(\s*)([^]*[^\s])(\s*)$/bracketbrackets"Unclosed bracket""space""Unknown word"spacesFromEnd"selector"unknownWord"*"spacesFromStartcheckMissedSemicolon"!important"stringFrom"At-rule without name""Unexpected }""Unclosed block""Double colon""progid"founded"Missed semicolon"_iterator2_isArray2_i2110112"./parse"PostCSSpluginreturnedtoResult_len_keyatRuleloadAnnotationloadMapconsumerCache/\/\*\s*# sourceMappingURL=(.*)\s*\*\//decodeInline"data:application/json,"/data:application\/json;([^,]+),/"Unsupported source map encoding "fromSourceMapmappings"Unsupported previous source map format: ""utf-8""./map-generator"cssCachedmapCached"./list"singleQuotedoubleQuotebackslashslashnewlinefeed"\f"cr"\r"openBracketcloseBracketopenCurlycloseCurlyasteriskatatEnd/[ \n\t\r\{\(\)'"\\/]/gwordEnd/[ \n\t\r\(\)\{\}:;@!'"\\]|\/(?=\*)/gbadBracket/.[\\\/\("'\n]/nextLinenextOffsetescapedescapePosunclosedwhat"Unclosed "do"brackets""quote"_Base64"2.1.8"'buffer'b64charsb64tabbincb_utobcc0xc00x3f0xe00x0f0x4000xf00x07re_utob/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/gutobcb_encodecccpadlenordchars/[\s\S]{1,3}/g_encodeurisafe/[+\/]/gm0/=/gre_btou'[\xC0-\xDF][\x80-\xBF]''[\xE0-\xEF][\x80-\xBF]{2}''[\xF0-\xF7][\x80-\xBF]{3}''g'cb_btoucccccp0x3FF0x1fbtoucb_decode/[\s\S]{1,4}/g_decode/[-_]/g/[^A-Za-z0-9\+\/]/gfromBase64toBase64noEnumextendString'fromBase64''toBase64''toBase64URI''Meteor'"buffer"'./source-map/source-map-generator''./source-map/source-map-consumer'SourceNode'./source-map/source-node'"./source-map/source-map-consumer"123"./source-map/source-map-generator"124"./source-map/source-node"125116'amdefine''./util'ArraySet_arrayfromArrayArraySet_fromArrayaArrayaAllowDuplicatesArraySet_addaStrisDuplicateidxtoSetStringArraySet_hasArraySet_indexOf'"''" is not in the set.'ArraySet_ataIdx'No element indexed by 'ArraySet_toArray"./util"126"amdefine"127117'./base64'VLQ_BASE_SHIFTVLQ_BASEVLQ_BASE_MASKVLQ_CONTINUATION_BITtoVLQSignedaValuefromVLQSignedisNegativeshiftedbase64VLQ_encodeencodeddigitvlqbase64VLQ_decodeaOutParamcontinuation"Expected more digits in base 64 VLQ value."&=rest"./base64"118charToIntMapintToCharMapbase64_encodeaNumber"Must be between 0 and 63: "base64_decodeaChar"Not a valid base 64 digit: "119binarySearch'./binary-search''./array-set'base64VLQ'./base64-vlq''./source-map-consumer'BasicSourceMapConsumeraSourceMap/^\)\]\}'/getArg'version'sources'sources''names''sourceRoot''sourcesContent''mappings''file'_version'Unsupported version: '_names_sources_mappingsSourceMapConsumer_fromSourceMapsmc_sourceRoot_generateSourcesContent_file__generatedMappings__originalMappingscompareByOriginalPositions_parseMappingsSourceMapConsumer_parseMappingsaSourceRootgeneratedLinepreviousGeneratedColumnpreviousOriginalLinepreviousOriginalColumnpreviousSourcepreviousName';'generatedColumn_nextCharIsMappingSeparator'Found a source, but no line and column'originalLine'Found a source and line, but no column'originalColumncompareByGeneratedPositions_findMappingSourceMapConsumer_findMappingaNeedleaMappingsaLineNameaColumnNameaComparator'Line must be greater than or equal to 1, got ''Column must be greater than or equal to 0, got 'computeColumnSpansSourceMapConsumer_computeColumnSpans_generatedMappingsnextMappinglastGeneratedColumnSourceMapConsumer_originalPositionForaArgsneedle'line''column'"generatedLine""generatedColumn"'originalLine''originalColumn''name'SourceMapConsumer_sourceContentForaSourcenullOnMissingurlParsefileUriAbsPath/^file:\/\//"file"'" is not in the SourceMap.'generatedPositionForSourceMapConsumer_generatedPositionFor_originalMappings"originalLine""originalColumn"'generatedLine''generatedColumn'lastColumn'lastGeneratedColumn'"./array-set""./base64-vlq""./binary-search"120"./source-map-consumer"recursiveSearchaLowaHighaHaystackaComparecmp121'./basic-source-map-consumer'IndexedSourceMapConsumer'sections'lastOffset_sections'Support for url field in sections not implemented.''offset'offsetLineoffsetColumn'Section offsets must be ordered and non-overlapping.'generatedOffset'map'IndexedSourceMapConsumer_originalPositionForsectionIndexsectionIndexedSourceMapConsumer_sourceContentForIndexedSourceMapConsumer_generatedPositionForgeneratedPositionIndexedSourceMapConsumer_parseMappingssectionMappingsadjustedMapping"./basic-source-map-consumer"122generatedPositionAftermappingAmappingBlineAlineBcolumnAcolumnBMappingList_sorted_lastunsortedForEachMappingList_forEachaCallbackaThisArgMappingList_addaMappingMappingList_toArrayindexedSourceMapConsumer'./indexed-source-map-consumer'basicSourceMapConsumer'_generatedMappings''_originalMappings'SourceMapConsumer_nextCharIsMappingSeparator"Subclasses must implement _parseMappings"GENERATED_ORDERORIGINAL_ORDEReachMappingSourceMapConsumer_eachMappingaContextaOrder"Unknown order of iteration."allGeneratedPositionsForSourceMapConsumer_allGeneratedPositionsFor"./indexed-source-map-consumer"'./mapping-list'_skipValidation'skipValidation'_sourcesContentsSourceMapGenerator_fromSourceMapaSourceMapConsumernewMappingsourceFileSourceMapGenerator_addMapping'generated''original'_validateMappingSourceMapGenerator_setSourceContentaSourceFileaSourceContentSourceMapGenerator_applySourceMapaSourceMapPath'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ''or the source map\'s "file" property. Both were omitted.'newSourcesnewNamesSourceMapGenerator_validateMappingaGeneratedaOriginalaName'Invalid mapping: '_serializeMappingsSourceMapGenerator_serializeMappingspreviousGeneratedLineSourceMapGenerator_generateSourcesContentaSourcesSourceMapGenerator_toJSONSourceMapGenerator_toString"./mapping-list"'./source-map-generator'REGEX_NEWLINE/(\r?\n)/NEWLINE_CODEisSourceNode"$$$isSourceNode$$$"aLineaColumnaChunkssourceContentsfromStringWithSourceMapSourceNode_fromStringWithSourceMapaGeneratedCodeaRelativePathremainingLinesshiftNextLinelineContentsnewLinelastGeneratedLinelastMappingaddMappingWithCodeSourceNode_addaChunk"Expected a SourceNode, string, or an array of SourceNodes and strings. Got "SourceNode_prependwalkSourceNode_walkaFnSourceNode_joinaSepnewChildrenreplaceRightSourceNode_replaceRightaPatternaReplacementSourceNode_setSourceContentwalkSourceContentsSourceNode_walkSourceContentsfromSetStringSourceNode_toStringtoStringWithSourceMapSourceNode_toStringWithSourceMapsourceMappingActivelastOriginalSourcelastOriginalLinelastOriginalColumnlastOriginalNamesourceContent"./source-map-generator"aDefaultValue'" is a required argument.'urlRegexp/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/dataUrlRegexp/^data:.+\,.+$/aUrlurlGenerateaParsedUrlaPath/\/+/partaRootaPathUrlaRootUrljoined/\/+$//\/$/'$'strcmpaStr1aStr2s1s2onlyCompareOriginalonlyCompareGeneratedamdefinerequireFndefineCacheloaderCachealreadyCalledmakeRequirestringRequiretrimDotsarybasePartsmakeNormalizerelNamemakeLoadfromText'amdefine does not implement load.fromText'systemRequirerelIdamdRequiredepsdepNametoUrlreqrunFactoryfactory'amdefine with no module ID cannot be called more than once per file.''!'originalId'require''exports''module''No module with ID: '"/../node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js"If `Buffer.TYPED_ARRAY_SUPPORT`:
=== true    Use Uint8Array implementation (fastest)
=== false   Use Object implementation (most compatible, even IE6)

Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
Opera 11.6+, iOS 4.2+.

Note:

- Implementation must support adding new properties to `Uint8Array` instances.
Firefox 4-29 lacked support, fixed in Firefox 30+.
See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.

- Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.

- IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
incorrect length in some situations.

We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they will
get the Object implementation, which is slower but will work correctly.Class: Buffer
=============

The Buffer constructor returns instances of `Uint8Array` that are augmented
with function properties for all the node `Buffer` API functions. We use
`Uint8Array` so that square bracket notation works as expected -- it returns
a single octet.

By augmenting the instances, we can avoid modifying the `Uint8Array`
prototype.Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
Added in Node 0.12. Only available in browsers that support ArrayBuffer.Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methodsWhether or not the given `val`
is an array.

example:

isArray([]);
// > true
isArray(arguments);
// > false
isArray('');
// > falsemixedboolA data structure which is a combination of an array and a set. Adding a new
member is O(1), testing for membership is O(1), and finding the index of an
element is O(1). Removing elements from the set is not supported. Only
strings are supported for membership.Static method for creating ArraySet instances from an existing array.Add the given string to this set.Is the given string a member of this set?What is the index of the given string in the array?What is the element at the given index?Returns the array representation of this set (which has the proper indices
indicated by indexOf). Note that this is a copy of the internal array used
for storing the members so that no one can mess with internal state.Converts from a two-complement value to a value where the sign bit is
placed in the least significant bit.  For example, as decimals:
1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
2 becomes 4 (100 binary), -2 becomes 5 (101 binary)Converts to a two-complement value from a value where the sign bit is
placed in the least significant bit.  For example, as decimals:
2 (10 binary) becomes 1, 3 (11 binary) becomes -1
4 (100 binary) becomes 2, 5 (101 binary) becomes -2Returns the base 64 VLQ encoded value.Decodes the next base 64 VLQ value from the given string and returns the
value and the rest of the string via the out parameter.Encode an integer in the range of 0 to 63 to a single base 64 digit.Decode a single base 64 digit to an integer.A BasicSourceMapConsumer instance represents a parsed source map which we can
query for information about the original file positions by giving it a file
position in the generated source.

The only parameter is the raw source map (either as a JSON string, or
already parsed to an object). According to the spec, source maps have the
following attributes:

- version: Which version of the source map spec this map is following.
- sources: An array of URLs to the original source files.
- names: An array of identifiers which can be referrenced by individual mappings.
- sourceRoot: Optional. The URL root from which all sources are relative.
- sourcesContent: Optional. An array of contents of the original source files.
- mappings: A string of base64 VLQs which contain the actual mappings.
- file: Optional. The generated file this source map is associated with.

Here is an example source map, taken from the source map spec[0]:

{
version : 3,
file: "out.js",
sourceRoot : "",
sources: ["foo.js", "bar.js"],
names: ["src", "maps", "are", "fun"],
mappings: "AA,AB;;ABCDE;"
}

[0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#Create a BasicSourceMapConsumer from a SourceMapGenerator.aSourceMap
The source map that will be consumed.
The version of the source mapping spec that we are consuming.The list of original sources.Parse the mappings in a string in to a data structure which we can easily
query (the ordered arrays in the `this.__generatedMappings` and
`this.__originalMappings` properties).Find the mapping that best matches the hypothetical "needle" mapping that
we are searching for in the given "haystack" of mappings.Compute the last column for each generated mapping. The last column is
inclusive.Returns the original source, line, and column information for the generated
source's line and column positions provided. The only argument is an object
with the following properties:

- line: The line number in the generated source.
- column: The column number in the generated source.

and an object is returned with the following properties:

- source: The original source file, or null.
- line: The line number in the original source, or null.
- column: The column number in the original source, or null.
- name: The original identifier, or null.Returns the original source content. The only argument is the url of the
original source file. Returns null if no original source content is
availible.Returns the generated line and column information for the original source,
line, and column positions provided. The only argument is an object with
the following properties:

- source: The filename of the original source.
- line: The line number in the original source.
- column: The column number in the original source.

and an object is returned with the following properties:

- line: The line number in the generated source, or null.
- column: The column number in the generated source, or null.Recursive implementation of binary search.Indices here and lower do not contain the needle.
Indices here and higher do not contain the needle.
The element being searched for.
The non-empty array being searched.
Function which takes two elements and returns -1, 0, or 1.This is an implementation of binary search which will always try and return
the index of next lowest value checked if there is no exact hit. This is
because mappings between original and generated line/col pairs are single
points, and there is an implicit region between each of them, so a miss
just means that you aren't on the very start of a region.The element you are looking for.
The array that is being searched.
A function which takes the needle and an element in the
array and returns -1, 0, or 1 depending on whether the needle is less
than, equal to, or greater than the element, respectively.An IndexedSourceMapConsumer instance represents a parsed source map which
we can query for information. It differs from BasicSourceMapConsumer in
that it takes "indexed" source maps (i.e. ones with a "sections" field) as
input.

The only parameter is a raw source map (either as a JSON string, or already
parsed to an object). According to the spec for indexed source maps, they
have the following attributes:

- version: Which version of the source map spec this map is following.
- file: Optional. The generated file this source map is associated with.
- sections: A list of section definitions.

Each value under the "sections" field has two fields:
- offset: The offset into the original specified at which this section
begins to apply, defined as an object with a "line" and "column"
field.
- map: A source map definition. This source map could also be indexed,
but doesn't have to be.

Instead of the "map" field, it's also possible to have a "url" field
specifying a URL to retrieve a source map from, but that's currently
unsupported.

Here's an example source map, taken from the source map spec[0], but
modified to omit a section which uses the "url" field.

{
version : 3,
file: "app.js",
sections: [{
offset: {line:100, column:10},
map: {
version : 3,
file: "section.js",
sources: ["foo.js", "bar.js"],
names: ["src", "maps", "are", "fun"],
mappings: "AAAA,E;;ABCDE;"
}
}],
}

[0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgtReturns the original source content. The only argument is the url of the
original source file. Returns null if no original source content is
available.Determine whether mappingB is after mappingA with respect to generated
position.A data structure to provide a sorted view of accumulated mappings in a
performance conscious manner. It trades a neglibable overhead in general
case for a large speedup in case of mappings being added in order.Iterate through internal items. This method takes the same arguments that
`Array.prototype.forEach` takes.

NOTE: The order of the mappings is NOT guaranteed.Add the given source mapping.Returns the flat, sorted array of mappings. The mappings are sorted by
generated position.

WARNING: This method returns internal data without copying, for
performance. The return value must NOT be mutated, and should be treated as
an immutable borrow. If you want to take ownership, you must make your own
copy.Iterate over each mapping between an original source/line/column and a
generated line/column in this source map.aCallback
The function that is called with each mapping.
aContext
Optional. If specified, this object will be the value of `this` every
time that `aCallback` is called.
Either `SourceMapConsumer.GENERATED_ORDER` or
`SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to
iterate over the mappings sorted by the generated file's line/column
order or the original's source/line/column order, respectively. Defaults to
`SourceMapConsumer.GENERATED_ORDER`.Returns all generated line and column information for the original source
and line provided. The only argument is an object with the following
properties:

- source: The filename of the original source.
- line: The line number in the original source.

and an array of objects is returned, each with the following properties:

- line: The line number in the generated source, or null.
- column: The column number in the generated source, or null.An instance of the SourceMapGenerator represents a source map which is
being built incrementally. You may pass an object with the following
properties:

- file: The filename of the generated source.
- sourceRoot: A root for all relative URLs in this source map.Creates a new SourceMapGenerator based on a SourceMapConsumerThe SourceMap.Add a single mapping from original source line and column to the generated
source's line and column for this source map being created. The mapping
object should have the following properties:

- generated: An object with the generated line and column positions.
- original: An object with the original line and column positions.
- source: The original source file (relative to the sourceRoot).
- name: An optional original token name for this mapping.Set the source content for a source file.Applies the mappings of a sub-source-map for a specific source file to the
source map being generated. Each mapping to the supplied source file is
rewritten using the supplied source map. Note: The resolution for the
resulting mappings is the minimium of this map and the supplied map.The source map to be applied.
Optional. The filename of the source file.
If omitted, SourceMapConsumer's file property will be used.
Optional. The dirname of the path to the source map
to be applied. If relative, it is relative to the SourceMapConsumer.
This parameter is needed when the two source maps aren't in the same
directory, and the source map to be applied contains relative source
paths. If so, those relative source paths need to be rewritten
relative to the SourceMapGenerator.A mapping can have one of the three levels of data:

1. Just the generated position.
2. The Generated position, original position, and original source.
3. Generated and original position, original source, as well as a name
token.

To maintain consistency, we validate that any new mapping being added falls
in to one of these categories.Serialize the accumulated mappings in to the stream of base 64 VLQs
specified by the source map format.Externalize the source map.Render the source map being generated to a string.SourceNodes provide a way to abstract over interpolating/concatenating
snippets of generated JavaScript source code while maintaining the line and
column information associated with the original source code.The original line number.
The original column number.
The original source's filename.
Optional. An array of strings which are snippets of
generated JS, or other SourceNodes.
The original identifier.Creates a SourceNode from generated code and a SourceMapConsumer.The generated code
The SourceMap for the generated code
Optional. The path that relative sources in the
SourceMapConsumer should be relative to.Add a chunk of generated JS to this source node.A string snippet of generated JS code, another instance of
SourceNode, or an array where each member is one of those things.Add a chunk of generated JS to the beginning of this source node.Walk over the tree of JS snippets in this node and its children. The
walking function is called once for each snippet of JS and is passed that
snippet and the its original associated source's line/column location.The traversal function.Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
each of `this.children`.The separator.Call String.prototype.replace on the very right-most source snippet. Useful
for trimming whitespace from the end of a source node, etc.The pattern to replace.
The thing to replace the pattern with.Set the source content for a source file. This will be added to the SourceMapGenerator
in the sourcesContent field.The filename of the source file
The content of the source fileWalk over the tree of SourceNodes. The walking function is called for each
source file content and is passed the filename and source content.Return the string representation of this source node. Walks over the tree
and concatenates all the various snippets together to one string.Returns the string representation of this source node along with a source
map.This is a helper function for getting values from parameter/options
objects.The object we are extracting values from
The name of the property we are getting.
An optional value to return if the property is missing
from the object. If this is not specified and the property is missing, an
error will be thrown.Normalizes a path, or the path portion of a URL:

- Replaces consequtive slashes with one slash.
- Removes unnecessary '.' parts.
- Removes unnecessary '<dir>/..' parts.

Based on code in the Node.js 'path' core module.The path or url to normalize.Joins two paths/URLs.The root path or URL.
The path or URL to be joined with the root.
* - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
scheme-relative URL: Then the scheme of aRoot, if any, is prepended
first.
- Otherwise aPath is a path. If aRoot is a URL, then its path portion
is updated with the result and aRoot is returned. Otherwise the result
is returned.
- If aPath is absolute, the result is aPath.
- Otherwise the two paths are joined with a slash.
- Joining for example 'http://' and 'www.example.com' is also supported.Make a path relative to a URL or another path.The path or URL to be made relative to aRoot.Because behavior goes wacky when you set `__proto__` on objects, we
have to prefix all the strings in our set with an arbitrary character.

See https://github.com/mozilla/source-map/pull/31 and
https://github.com/mozilla/source-map/issues/30Comparator between two mappings where the original positions are compared.

Optionally pass in `true` as `onlyCompareGenerated` to consider two
mappings with the same original source/line/column, but different generated
line and column the same. Useful when searching for a mapping with a
stubbed out mapping.Comparator between two mappings where the generated positions are
compared.

Optionally pass in `true` as `onlyCompareGenerated` to consider two
mappings with the same generated line and column, but different
source/name/original line and column the same. Useful when searching for a
mapping with a stubbed out mapping.vim: et:ts=4:sw=4:sts=4amdefine 0.1.0 Copyright (c) 2011, The Dojo Foundation All Rights Reserved.
Available via the MIT or new BSD license.
see: http://github.com/jrburke/amdefine for detailsCreates a define for node.the "module" object that is defined by Node for the
current module.
. Node's require function for the current module.
It only needs to be passed in Node versions before 0.5, when module.require
did not exist.
a define function that is usable for the current node
module.Trims the . and .. from an array of path segments.
It will keep a leading path segment if a .. will become
the first path segment, to help with module name lookups,
which act like paths, but can be remapped. But the end result,
all paths that use this function should look normalized.
NOTE: this method MODIFIES the input array.the array of path segments.Create the normalize() function passed to a loader plugin's
normalize method.(functi ... (1)\n});(functi ... )(1)\n})(functi ...  f()}})functio ... = f()}}{if(typ ... = f()}}if(type ...  = f()}typeof  ... object"typeof exports{module.exports=f()}module.exports=f()f()typeof  ... ine.amd{define([],f)}define([],f){var g; ...  = f()}var g;if(type ... g=this}{g=window}g=windowtypeof global{g=global}g=global{g=self}g=self{g=this}g=thisg.autoprefixer = f()g.autoprefixerfunctio ... ])(1)\n}{var de ... ])(1)\n}var def ... xports;return  ... [1])(1)(functi ... [1])(1)(functi ... {},[1])(functi ... urn s})functio ... turn s}{functi ... turn s}functio ... xports}{if(!n[ ... xports}if(!n[o ... t,n,r)}!n[o]n[o]{if(!t[ ... t,n,r)}if(!t[o ... UND",f}!t[o]t[o]{var a= ... UND",f}var a=t ... equire;a=typeo ... requiretypeof  ... requiretypeof requireif(!u&& ... (o,!0);!u&&a!ureturn a(o,!0);a(o,!0)!0if(i)return i(o,!0);return i(o,!0);i(o,!0)var f=n ... o+"'");f=new E ... +o+"'")new Err ... +o+"'")"Cannot ... "+o+"'""Cannot ... le '"+o"Cannot ... dule '"Cannot find module ''throw f ... OUND",ff.code= ... OUND",ff.code= ... _FOUND"f.codeMODULE_NOT_FOUNDvar l=n ... ts:{}};l=n[o]={exports:{}}n[o]={exports:{}}{exports:{}}exports:{}t[o][0] ... ,t,n,r)t[o][0].callt[o][0]l.exportsfunctio ... n?n:e)}{var n= ... n?n:e)}var n=t[o][1][e];n=t[o][1][e]t[o][1][e]t[o][1]return s(n?n:e)s(n?n:e)n?n:ereturn n[o].exportsn[o].exportsvar i=t ... equire;i=typeo ... requirefor(var ... (r[o]);o<r.lengthr.lengtho++var o=0o=0s(r[o]);s(r[o])r[o]return s{1:[fun ... ":53}]}1:[func ... ":107}][functi ... ":107}]functio ... is);\n\n}{\n(func ... is);\n\n}(functi ... (this);(functi ... l(this)(functi ... }).call(functi ... er;\n\n})functio ... xer;\n\n}{\n  var ... xer;\n\n}var Aut ... ; }; };slice = [].slice[].slicebind =  ... ); }; }functio ... ); }; }{ retur ... ); }; }return  ... ts); };functio ... nts); }{ retur ... nts); }fn.appl ... uments)fn.applybrowser ... list');browser ... slist')require ... slist')postcss ... tcss');postcss ... stcss')require('postcss')Browser ... sers');Browser ... wsers')require ... wsers')./browsers/browsersPrefixe ... ixes');Prefixe ... fixes')require ... fixes')./prefixes/prefixesinfoCache = null;infoCache = nullisPlain ... ';\n  };isPlain ... ]';\n  }functio ... ]';\n  }{\n    r ... ]';\n  }return  ... ject]';Object. ... bject]'Object. ... ly(obj)Object. ... g.apply[object Object]autopre ... );\n  };autopre ... s);\n  }var options, reqs;reqs =  ... ) : [];reqs =  ... 0) : []1 <= ar ... 0) : []1 <= ar ... .lengthslice.c ... nts, 0)if (req ... ;\n    }reqs.le ... eqs[0])reqs.length === 1reqs.lengthisPlain ... eqs[0])reqs[0]options = reqs[0];options = reqs[0]reqs = void 0;reqs = void 0void 0reqs.le ...  null))reqs.length === 0(reqs.l ...  null))reqs.le ... = null)(reqs[0] == null)reqs[0] == nullreqs.length <= 2(reqs[0 ...  null))reqs[0] ... = null)reqs[0] ... f Arrayoptions = reqs[1];options = reqs[1]reqs[1]reqs = reqs[0];reqs = reqs[0]if (typ ... ;\n    }typeof  ... object'typeof  ... th - 1]reqs[re ... th - 1]reqs.length - 1options ... .pop();options = reqs.pop()reqs.pop()reqs.popif ((op ... ;\n    }(option ... != null(option ... void 0)options ...  void 0options != nulloptions.browsersreqs =  ... owsers;reqs =  ... rowsersreturn  ... tions);new Aut ... ptions)autoprefixer.dataautopre ... ')\n  };autopre ... s')\n  }{\n    b ... s')\n  }browser ... .agentsrequire ... .agentsrequire ... /data')caniuse-db/dataprefixe ... fixes')../data/prefixes/data/prefixesAutopre ...   })();Autopre ... \n  })()(functi ... ;\n\n  })functio ... r;\n\n  }{\n    f ... r;\n\n  }this.reqs = reqs1;this.reqs = reqs1this.reqsthis.op ... 1 : {};this.op ... s1 : {}this.optionsoptions ... s1 : {}options1 != nullthis.po ...  this);this.po ... , this)this.postcssbind(th ... , this)Autopre ... \n    };Autopre ... ;\n    }Autopre ... processAutopre ... ototypeif (opt ...       }options == nulloptions = {};options = {}postcss ... ptions)postcss ... processpostcss ... ostcss)Autopre ... postcssvar prefixes;prefixe ...     });prefixe ...      })this.pr ...      })this.prefixesfrom: c ... ut.filecss.sou ... ut.filecss.source.inputcss.sourceif (thi ...       }this.op ... = falsethis.options.removeprefixe ... e(css);prefixe ... ve(css)prefixe ... .removeprefixes.processorreturn  ... d(css);prefixe ... dd(css)prefixe ... sor.addAutopre ... refixesvar browsers;browser ...  opts);browser ... , opts)new Bro ... , opts)autopre ... rowsersnew Pre ... ptions)autopre ... refixesAutopre ... pe.infoinfoCac ... nfo'));infoCac ... info'))(infoCa ... info'))infoCac ... /info')require('./info')./info/inforeturn  ... opts));infoCac ... (opts))this.prefixes(opts)return Autoprefixer;autopre ... faults;autopre ... efaultsbrowser ... efaultsautopre ... ));\n  }autopre ... Defaultfunctio ... ));\n  }{\n    r ... ));\n  }return  ... xer());this.de ... ixer())this.defaultCache(this.d ... ixer())this.de ... fixer()autoprefixer()autoprefixer.process{\n    i ... s);\n  }if (opt ... ;\n    }this.lo ... ptions)this.lo ... processthis.loadDefault()this.loadDefaultautoprefixer.postcss{\n    r ... s);\n  }return  ... s(css);autopre ... ss(css)autopre ... postcssautopre ... fault()autopre ... ();\n  }autoprefixer.infofunctio ... ();\n  }{\n    r ... ();\n  }return  ... info();this.lo ... .info()this.lo ... ().infomodule. ... efixer;module. ... refixer{"../da ... s":107}"../data/prefixes":2"./browsers":4"./info":37"./prefixes":41"browserslist":55"caniuse-db/data":56"postcss":1072:[func ... e":94}][functi ... e":94}](functi ... });\n\n})functio ...  });\n\n}{\n  var ...  });\n\n}var add ... .slice;sort =  ... );\n  };sort =  ... });\n  }{\n    r ... });\n  }array.s ... \n    })array.sortvar d;a = a.split(' ');a = a.split(' ')a.split(' ')a.splitb = b.split(' ');b = b.split(' ')b.split(' ')b.splitif (a[0 ...       }a[0] > b[0]a[0]b[0]return 1;a[0] < b[0]return -1;d = par ... (b[1]);d = par ... t(b[1])parseFl ... t(b[1])parseFloat(a[1])a[1]parseFloat(b[1])b[1]if (d > ...       }d > 0if (d < ...       }d < 0feature ... );\n  };feature ... ));\n  }{\n    v ... ));\n  }var bro ... rsions;if (!ca ... ;\n    }!callbackref = [ ... ref[1];ref = [ ...  ref[1]ref = [opts, {}][opts, {}]callback = ref[0]ref[0]opts = ref[1]ref[1]match = ... $|\s)/;match = ... ($|\s)/opts.ma ... ($|\s)/opts.match\sx($|\s)($|\s)$|\sneed = [];need = []ref1 = data.stats;ref1 = data.statsdata.statsfor (br ... }\n    }version ... owser];version ... rowser]ref1[browser]for (ve ...       }support ... rsion];support ... ersion]versions[version]if (sup ...       }support.match(match)support.matchneed.pu ... rsion);need.pu ... ersion)need.pushbrowser ... versionbrowser + ' 'return  ... need));callback(sort(need))sort(need)result = {};prefix  ... s;\n  };prefix  ... ts;\n  }functio ... ts;\n  }{\n    v ... ts;\n  }var dat ... esults;names = ... s[j++];names = ... ts[j++]names = ...  0, [])2 <= ar ...  0, [])2 <= ar ... .lengthslice.c ... th - 1)j = arg ... gth - 1arguments.length - 1(j = 0, [])j = 0, []j = 0data =  ... ts[j++]arguments[j++]j++results = [];results = []for (k  ... ;\n    }k < lenk++k = 0,  ... .lengthk = 0len = names.lengthnames.lengthname = names[k];name = names[k]names[k]result[name] = {};result[name] = {}result[name]results ...  })());results ...   })())results.push(functi ...      })var results1;results1 = [];results1 = []for (i  ...       }results ... ta[i]);results ... ata[i])results1.pushresult[ ... data[i]result[name][i]data[i]return results1;return results;add = f ... s;\n  };add = f ... ts;\n  }results ... ers)));results ... sers)))result[ ... wsers))result[ ... rowserssort(re ... wsers))result[ ... owsers)result[ ... .concatdata.browsersmodule. ... result;module. ...  resultfeature ... ;\n  });feature ... );\n  })require ... adius')'canius ... radius'caniuse-db/features-json/border-radiusprefix( ... \n    })border-radius'border ... radius'border-top-left-radiusborder-top-right-radiusborder-bottom-right-radiusborder-bottom-left-radiusmistake ...  '-o-']['-ms-', '-o-']-ms--o-transition: truebrowsers: browsersrequire ... hadow')'canius ... shadow'caniuse-db/features-json/css-boxshadowbox-shadowrequire ... ation')'canius ... mation'caniuse-db/features-json/css-animationanimationanimation-nameanimation-durationanimation-delay'animat ... ection'animation-direction'animat ... l-mode'animation-fill-mode'animat ... -count'animation-iteration-count'animat ... -state'animation-play-state'animat ... nction'animation-timing-function@keyframesmistakes: ['-ms-']['-ms-']require ... tions')'canius ... itions'caniuse-db/features-json/css-transitions'transi ... operty'transition-property'transi ... ration'transition-durationtransition-delay'transi ... nction'transition-timing-functionrequire ... rms2d')'canius ... orms2d'caniuse-db/features-json/transforms2dtransform-originrequire ... rms3d')'canius ... orms3d'caniuse-db/features-json/transforms3d{\n    p ... });\n  }prefix( ...     });perspective-origintransform-style'backfa ... bility'backface-visibilitygradien ... ents');gradien ... ients')require ... ients')'canius ... dients'caniuse-db/features-json/css-gradients{\n    m ... sx/\n  }match: /y\sx/y\sxlinear-gradient'repeat ... adient'repeating-linear-gradientradial-gradientrepeating-radial-gradientprops:  ... 'mask']['backg ... 'mask']background-imageborder-imagelist-stylelist-style-imagemask-imagematch: /a\sx/a\sx{\n    b ... });\n  }browser ...     });browser ... \n    })browsers.mapif (/op ...       }/op/.test(i)/op/.testopreturn i;return i + " old";i + " old" oldadd('li ... \n    })require ... izing')'canius ... sizing'caniuse-db/features-json/css3-boxsizingbox-sizingrequire ... lters')'canius ... ilters'caniuse-db/features-json/css-filtersrequire ... olumn')'canius ... column'caniuse-db/features-json/multicolumncolumn-widthcolumn-gapcolumn-rulecolumn-rule-colorcolumn-rule-widthcolumn-countcolumn-rule-stylecolumn-spancolumn-fillbreak-beforebreak-afterbreak-insiderequire ... -none')'canius ... t-none'caniuse-db/features-json/user-select-noneuser-selectflexbox ... xbox');flexbox ... exbox')require ... exbox')'canius ... lexbox'caniuse-db/features-json/flexboxif (/ie ...       }/ie|firefox/.test(i)/ie|firefox/.testie|firefoxfirefoxreturn i + " 2009";i + " 2009" 2009display-flexinline-flexprops: ['display']['display']flex-growflex-shrinkflex-basisflex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-selfalign-content{\n    a ... });\n  }add('di ...     });add('di ... \n    })add('fl ...     });add('fl ... \n    })require ... /calc')'canius ... n/calc'caniuse-db/features-json/calccalcprops: ['*']['*']require ... -opts')'canius ... g-opts'caniuse-db/features-json/background-img-optsbackground-clipbackground-originbackground-sizerequire ... ature')'canius ... eature'caniuse-db/features-json/font-feature'font-f ... ttings'font-feature-settings'font-v ... atures'font-variant-ligatures'font-l ... erride'font-language-overridefont-kerningrequire ... image')'canius ... -image'caniuse-db/features-json/border-imagerequire ... ction')'canius ... ection'caniuse-db/features-json/css-selection::selectionselector: truerequire ... older')'canius ... holder'caniuse-db/features-json/css-placeholdervar nam ... ersion;ref = i ... ref[1];ref = i ...  ref[1]ref = i.split(' ')i.split(' ')i.splitname = ref[0]version = ref[1]if (nam ...       }name == ... ) <= 18name === 'firefox'parseFl ... ) <= 18parseFloat(version)return i + ' old';i + ' old':placeholder-shown::placeholderrequire ... phens')'canius ... yphens'caniuse-db/features-json/css-hyphenshyphensrequire ... creen')'canius ... screen'caniuse-db/features-json/fullscreen:fullscreenrequire ... bsize')'canius ... absize'caniuse-db/features-json/css3-tabsizetab-sizerequire ... width')'canius ... -width'caniuse-db/features-json/intrinsic-widthmax-contentmin-contentfit-contentfill-availableprops:  ... eight']['width ... eight']min-widthmax-widthmin-heightmax-heightrequire ... newer')'canius ... -newer'caniuse-db/features-json/css3-cursors-newerzoom-inzoom-outprops: ['cursor']['cursor']browser ... me 3'])browsers.concat['chrome 3']chrome 3grabgrabbingbrowser ... x 26'])['firef ... ox 26']firefox 24firefox 25firefox 26require ... ticky')'canius ... sticky'caniuse-db/features-json/css-stickystickyprops: ['position']['position']require ... inter')'canius ... ointer'caniuse-db/features-json/pointertouch-actiontextDec ... tion');textDec ... ation')'canius ... ration'caniuse-db/features-json/text-decoration'text-d ... -style'text-decoration-style{\n    m ... s)/\n  }match: /y\sx($|\s)/y\sx($|\s)'text-d ... n-line'text-decoration-line'text-d ... -color'text-decoration-colorrequire ... djust')'canius ... adjust'caniuse-db/features-json/text-size-adjusttext-size-adjustrequire ... masks')'canius ... -masks'caniuse-db/features-json/css-masksmask-clipmask-compositemask-originmask-repeatclip-pathmask-positionmask-sizerequire ... break')'canius ... nbreak'caniuse-db/features-json/css-boxdecorationbreak'box-de ... -break'box-decoration-breakbrowsers: brwsrsrequire ... t-fit')'canius ... ct-fit'caniuse-db/features-json/object-fitobject-fitobject-positionrequire ... hapes')'canius ... shapes'caniuse-db/features-json/css-shapesshape-marginshape-outside'shape- ... eshold'shape-image-thresholdrequire ... rflow')'canius ... erflow'caniuse-db/features-json/text-overflowtext-overflowrequire ... hasis')'canius ... phasis'caniuse-db/features-json/text-emphasistext-emphasis'canius ... tation'caniuse-db/features-json/css-deviceadaptation@viewportresolut ... tion');resolut ... ution')require ... ution')'canius ... lution'caniuse-db/features-json/css-media-resolution{\n    m ... 3)/\n  }match:  ... |a #3)/( x($| )|a #3) x($| )|a #3 x($| ) x($| )$| a #3@resolutionrequire ... -last')'canius ... n-last'caniuse-db/features-json/css-text-align-lasttext-align-lastcrisped ... dges');crisped ... edges')require ... edges')'canius ... -edges'caniuse-db/features-json/css-crisp-edges{\n    m ...  x/\n  }match: /y x/y xcrisp-edgesprops:  ... ering']['image-rendering']image-rendering{\n    m ... #2/\n  }match: /a x #2/a x #2logical ... rops');logical ... props')require ... props')'canius ... -props'caniuse-db/features-json/css-logical-props'border ... -start'border-inline-startborder-inline-end'margin ... -start'margin-inline-startmargin-inline-end'paddin ... -start'padding-inline-startpadding-inline-endmatch: /x\s#2/x\s#2#2border-block-startborder-block-endmargin-block-startmargin-block-endpadding-block-startpadding-block-end{"caniu ... ne":94}"canius ... pts":57"canius ... g-opts""canius ... age":58"canius ... -image""canius ... ius":59"canius ... radius""canius ... alc":60"canius ... n/calc""canius ... ion":61"canius ... mation""canius ... eak":62"canius ... nbreak""canius ... dow":63"canius ... shadow""canius ... ges":64"canius ... -edges""canius ... ion":65"canius ... tation""canius ... ers":66"canius ... ilters""canius ... nts":67"canius ... dients""canius ... ens":68"canius ... yphens""canius ... ops":69"canius ... -props""canius ... sks":70"canius ... -masks""canius ... ion":71"canius ... lution""canius ... der":72"canius ... holder""canius ... ion":73"canius ... ection""canius ... pes":74"canius ... shapes""canius ... cky":75"canius ... sticky""canius ... ast":76"canius ... n-last""canius ... ons":77"canius ... itions""canius ... ing":78"canius ... sizing""canius ... wer":79"canius ... -newer""canius ... ize":80"canius ... absize""canius ... box":81"canius ... lexbox""canius ... ure":82"canius ... eature""canius ... een":83"canius ... screen""canius ... dth":84"canius ... -width""canius ... umn":85"canius ... column""canius ... fit":86"canius ... ct-fit""canius ... ter":87"canius ... ointer""canius ... ion":88"canius ... ration""canius ... sis":89"canius ... phasis""canius ... low":90"canius ... erflow""canius ... ust":91"canius ... adjust""canius ... s2d":92"canius ... orms2d""canius ... s3d":93"canius ... orms3d""canius ... one":94"canius ... t-none"3:[func ... r":40}][functi ... r":40}](functi ... le;\n\n})functio ... ule;\n\n}{\n  var ... ule;\n\n}var AtR ... operty;extend  ... hild; }functio ... hild; }{ for ( ... hild; }for (va ... key]; }{ if (h ... key]; }if (has ... t[key];hasProp ... t, key)hasProp.callchild[k ... t[key];child[k ... nt[key]child[key]parent[key]{ this. ... hild; }this.co ...  child;this.co ... = childthis.constructorctor.pr ... totype;ctor.pr ... ototypector.prototypeparent.prototypechild.p ... ctor();child.p ...  ctor()child.prototypenew ctor()child._ ... totype;child._ ... ototypechild.__super__return child;hasProp ... roperty{}.hasOwnPropertyPrefixe ... ixer');Prefixe ... fixer')require ... fixer')./prefixer/prefixerAtRule  ... fixer);AtRule  ... efixer)(functi ... efixer)functio ... e;\n\n  }{\n    e ... e;\n\n  }extend( ... Class);extend( ... rClass)AtRule. ... uments)AtRule. ... r.applyAtRule. ... tructorAtRule.__super__AtRule. ... \n    };AtRule. ... ;\n    }AtRule.prototype.addAtRule.prototypevar alr ... efixed;prefixe ... e.name;prefixe ... le.nameprefix + rule.namerule.namealready ...     });already ...      })rule.pa ...      })rule.parent.somerule.parentreturn  ... params;i.name  ... .paramsi.name === prefixedi.namei.param ... .paramsi.paramsrule.paramsif (alr ...       }cloned  ...     });cloned  ...      })this.cl ...      })this.clonename: prefixedreturn  ... loned);rule.pa ... cloned)rule.pa ... tBeforeAtRule. ... processvar j,  ... esults;parent  ... (node);parent  ... x(node)this.pa ... x(node)this.parentPrefixref = this.prefixes;ref = this.prefixesfor (j  ...       }j < lenj = 0,  ... .lengthlen = ref.lengthref.lengthprefix = ref[j];prefix = ref[j]ref[j]parent  ...  prefixparent !== prefixcontinue;results ... efix));results ... refix))this.ad ... prefix)this.addreturn AtRule;module. ... AtRule;module. ...  AtRule{"./prefixer":40}"./prefixer":404:[func ... a":56}][functi ... a":56}](functi ... rs;\n\n})functio ... ers;\n\n}{\n  var ... ers;\n\n}var Bro ...  utils;utils = ... tils');utils = ... utils')require('./utils')./utils/utilsBrowser ...   })();Browser ... \n  })()functio ... s;\n\n  }{\n    B ... s;\n\n  }Browser ... \n    };Browser ... ;\n    }Browsers.prefixesvar data, i, name;this.prefixesCachereturn  ... sCache;data =  ... agents;data =  ... .agentsutils.u ...      })utils.u ... )).sortutils.u ...   })())utils.uniqvar results;for (na ...       }i = data[name];i = data[name]data[name]results ... + "-");results ...  + "-")"-" + i.prefix + "-""-" + i.prefixi.prefixreturn  ... length;b.length - a.lengthb.lengtha.lengthBrowsers.withPrefixif (!th ...       }!this.prefixesRegexpthis.prefixesRegexpthis.pr ... '|')));this.pr ... ('|')))RegExp( ... ('|')))"" + (t ... n('|'))(this.p ... n('|'))this.pr ... in('|')this.prefixes().jointhis.prefixes()return  ... value);this.pr ... (value)this.pr ... xp.testthis.data = data1;this.data = data1this.op ... ptions;this.op ... optionsthis.se ... ments);this.se ... ements)this.selectedthis.pa ... ements)this.parseBrowser ... e.parseBrowsers.prototypevar ref;browser ...      })path: ( ...  void 0(ref =  ...  void 0(ref =  ... != null(ref = this.options)ref = this.optionsref.fromBrowser ... rowsersselected = [];selected = []ref = this.data;ref = this.datafor (br ...       }data = ref[browser];data = ref[browser]ref[browser]version ...     });version ...      })criteri ...      })criteria(data).mapcriteria(data)return  ... ersion;browser + " "selecte ... sions);selecte ... rsions)selected.concatreturn selected;Browser ... .prefixvar dat ... ersion;ref = b ... ref[1];ref = b ...  ref[1]ref = b ... it(' ')browser.split(' ')browser.splitdata =  ... [name];data =  ... a[name]this.data[name]if (dat ...       }data.pr ... eptionsprefix  ... rsion];prefix  ... ersion]data.pr ... ersion]prefix  ... refix);prefix  ... prefix)(prefix ... prefix)prefix = data.prefixdata.prefixreturn  ...  + '-';'-' + prefix + '-''-' + prefixBrowser ... electedreturn  ... !== -1;this.se ...  !== -1this.se ... rowser)this.se ... indexOfreturn Browsers;module. ... owsers;module. ... rowsers{"./uti ... ta":56}"./utils":465:[func ... ":113}][functi ... ":113}](functi ... on;\n\n})functio ... ion;\n\n}{\n  var ... ion;\n\n}var Bro ... operty;vendor  ... ndor');vendor  ... endor')require ... endor')postcss/lib/vendorDeclara ... fixer);Declara ... efixer)functio ... n;\n\n  }{\n    e ... n;\n\n  }Declara ... uments)Declara ... r.applyDeclara ... tructorDeclara ... super__Declara ... \n    };Declara ... ;\n    }Declara ... e.checkDeclara ... ototypereturn true;Declara ... refixedreturn  ... + prop;prefix + propDeclara ... rmalizereturn prop;Declara ... refixesvar j,  ... r, ref;ref = B ... ixes();ref = B ... fixes()Browsers.prefixes()other = ref[j];other = ref[j]if (oth ...       }other === prefixif (val ...       }value.i ...  !== -1value.indexOf(other)value.indexOfreturn false;Declara ... ype.setdecl.pr ... refix);decl.pr ... prefix)decl.propthis.pr ... prefix)this.prefixedreturn decl;Declara ... Cascadereturn  ... == -1);decl._a ... !== -1)decl._a ... Cascade(decl._ ... !== -1)decl._a ...  !== -1this.al ...  !== -1this.al ... = falsethis.al ... cascadethis.all.optionsthis.alldecl.st ...  !== -1decl.st ... f('\n')decl.st ... indexOfdecl.style('before')decl.stylevar j,  ... prefix;if (dec ...       }decl._a ... ixerMaxreturn  ... xerMax;max = 0;max = 0len = p ... .lengthprefixes.lengthprefix  ... xes[j];prefix = prefixes[j]prefixes[j]utils.r ... prefix)utils.removeNoteif (pre ...       }prefix.length > maxprefix.lengthmax = prefix.length;max = prefix.lengthreturn  ...  = max;decl._a ... x = maxDeclara ... cBeforevar bef ... x, ref;prefix == nullprefix = '';prefix = ''before  ... fore');before  ... efore')max = t ...  decl);max = t ... , decl)this.ma ... , decl)this.maxPrefixeddiff =  ... length;diff =  ... .lengthmax - u ... .lengthutils.r ... .length0 <= re ... j > ref0 <= refj < refj > refi = 0 < ... j : --j0 <= ref ? ++j : --j++j--ji = j = ...  = diffi = j = 0ref = diffbefore += ' ';before += ' 'return before;Declara ... eBeforevar lines, min;lines = ... ("\n");lines = ... t("\n")decl.st ... t("\n")decl.st ... ).splitmin = l ... h - 1];min = l ... th - 1]lines[l ... th - 1]lines.length - 1lines.lengththis.al ...     });this.al ...      })this.al ... ecl).upthis.all.group(decl)this.all.groupvar array, last;array = ... ("\n");array = ... t("\n")prefixe ... t("\n")prefixe ... ).splitprefixe ... efore')prefixed.stylelast =  ... h - 1];last =  ... th - 1]array[a ... th - 1]array.length - 1array.lengthif (las ...       }last.le ... .lengthlast.lengthmin.lengthreturn min = last;min = lastlines[l ...  = min;lines[l ... ] = minreturn  ... ("\n");decl.be ... n("\n")decl.beforelines.join("\n")lines.joinDeclara ... .insertvar cloned;cloned  ... refix);cloned  ... prefix)this.se ... prefix)this.setthis.clone(decl)if (!cl ...       }!clonedthis.ne ... e(decl)this.needCascadecloned. ... refix);cloned. ... prefix)cloned.beforethis.ca ... prefix)this.calcBeforedecl.pa ... cloned)decl.pa ... tBeforedecl.parentDeclara ... ype.addprefixe ... refix);prefixe ... prefix)return  ... efixed;i.prop === prefixedi.propalready ...    }));already ...     }))(alread ...     }))this.al ... l).downalready ... prefix)this.ot ... prefix)this.otherPrefixesdecl.valuereturn  ... fixes);this.in ... efixes)this.insertDeclara ... }\n    }Declara ... processprefixe ... ments);prefixe ... uments)Declara ... s.applyprefixe ...  void 0prefixes != nullthis.re ... (decl);this.re ... e(decl)this.restoreBeforereturn  ...  decl);decl.be ... , decl)this.ca ... , decl)Declara ... ype.oldreturn  ... efix)];[this.p ... refix)]return Declaration;module. ... ration;module. ... aration{"./bro ... r":113}"postcs ... or":1136:[func ... c":24}][functi ... c":24}](functi ... nt;\n\n})functio ... ent;\n\n}{\n  var ... ent;\n\n}var Ali ... operty;flexSpe ... spec');flexSpe ... -spec')require ... -spec')./flex-spec/flex-specDeclara ... tion');Declara ... ation')../declaration/declarationAlignCo ... ation);AlignCo ... ration)(functi ... ration)functio ... t;\n\n  }{\n    e ... t;\n\n  }AlignCo ... uments)AlignCo ... r.applyAlignCo ... tructorAlignCo ... super__AlignCo ... pack'];AlignCo ... -pack']AlignContent.names['align ... -pack']flex-line-packAlignCo ... \n    };AlignCo ... '\n    }AlignCo ... dValues'flex-end': 'end'flex-end'flex-s ... 'start'flex-start'space- ... ustify'space-betweenjustify'space- ... ribute'space-arounddistributeAlignCo ... }\n    }AlignCo ... refixedAlignCo ... ototypevar ref, spec;ref = f ... ref[1];ref = f ...  ref[1]ref = f ... prefix)flexSpec(prefix)spec = ref[0]prefix = ref[1]if (spe ...       }spec === 2012return  ... -pack';prefix  ... e-pack'AlignCo ... d.applyAlignCo ... ;\n    }AlignCo ... rmalizereturn  ... ntent';AlignCo ... ype.setvar spec;spec =  ... ix)[0];spec =  ... fix)[0]flexSpec(prefix)[0]decl.va ... .value;decl.va ... l.valueAlignCo ... l.valueAlignCo ... .value]return  ... refix);AlignCo ... prefix)AlignCo ... et.callAlignCo ... r__.setspec === 'final'AlignCo ... t.applyreturn AlignContent;module. ... ontent;module. ... Content{"../de ... ec":24}"../declaration":5"./flex-spec":247:[func ... c":24}](functi ... ms;\n\n})functio ... ems;\n\n}{\n  var ... ems;\n\n}AlignIt ... ation);AlignIt ... ration){\n    e ... s;\n\n  }AlignIt ... uments)AlignIt ... r.applyAlignIt ... tructorAlignItems.__super__AlignIt ... lign'];AlignIt ... align']AlignItems.names['align ... align']flex-alignbox-alignAlignIt ... \n    };AlignIt ... '\n    }AlignItems.oldValuesAlignIt ... }\n    }AlignIt ... refixedAlignItems.prototypespec === 2009return  ... align';prefix + 'box-align'prefix  ... -align'AlignIt ... d.applyAlignIt ... ;\n    }AlignIt ... rmalizereturn  ... items';AlignIt ... ype.setspec == ... == 2012AlignIt ... l.valueAlignIt ... .value]AlignIt ... prefix)AlignIt ... et.callAlignIt ... r__.setAlignIt ... t.applyreturn AlignItems;module. ... nItems;module. ... gnItems8:[func ... c":24}](functi ... lf;\n\n})functio ... elf;\n\n}{\n  var ... elf;\n\n}AlignSe ... ation);AlignSe ... ration)functio ... f;\n\n  }{\n    e ... f;\n\n  }AlignSe ... uments)AlignSe ... r.applyAlignSe ... tructorAlignSelf.__super__AlignSe ... lign'];AlignSe ... align']AlignSelf.namesflex-item-alignAlignSe ... \n    };AlignSe ... '\n    }AlignSelf.oldValuesAlignSe ... }\n    }AlignSe ... refixedAlignSelf.prototypeAlignSe ... d.applyAlignSe ... ;\n    }AlignSe ... rmalizereturn 'align-self';AlignSe ... ype.setAlignSe ... l.valueAlignSe ... .value]AlignSe ... prefix)AlignSe ... et.callAlignSe ... r__.setAlignSe ... t.applyreturn AlignSelf;module. ... gnSelf;module. ... ignSelf9:[func ... on":5}][functi ... on":5}](functi ... ze;\n\n})functio ... ize;\n\n}{\n  var ... ize;\n\n}var Bac ... operty;Backgro ... ation);Backgro ... ration)Backgro ... uments)Backgro ... r.applyBackgro ... tructorBackgro ... super__Backgro ... size'];Backgro ... -size']BackgroundSize.names['background-size']Backgro ... \n    };Backgro ... ;\n    }Backgro ... ype.setBackgro ... ototypevar value;value = ... Case();value = ... rCase()decl.va ... rCase()decl.va ... werCaseprefix  ... 'cover'prefix  ... ontain'prefix  ...  === -1prefix  ... ebkit-'-webkit-value.i ...  === -1value.indexOf(' ')value !== 'contain'containvalue !== 'cover'coverdecl.value + ' 'Backgro ... prefix)Backgro ... et.callBackgro ... r__.setreturn  ... ndSize;module. ... ndSize;module. ... undSize{"../declaration":5}10:[fun ... on":5}](functi ... al;\n\n})functio ... cal;\n\n}{\n  var ... cal;\n\n}var Blo ... operty;BlockLo ... ation);BlockLo ... ration)functio ... l;\n\n  }{\n    e ... l;\n\n  }BlockLo ... uments)BlockLo ... r.applyBlockLo ... tructorBlockLo ... super__BlockLo ... fter'];BlockLo ... after']BlockLogical.names['borde ... after']border-beforeborder-aftermargin-beforemargin-afterpadding-beforepadding-afterBlockLo ... \n    };BlockLo ... ;\n    }BlockLo ... refixedBlockLo ... ototypereturn  ... ter'));prefix  ... fter'))(prop.i ... fter'))prop.in ... after')prop.in ...  !== -1prop.in ... start')prop.indexOf-startprop.re ... efore')prop.replace-block-start-beforeprop.re ... after')-block-end-afterBlockLo ... }\n    }BlockLo ... rmalizeif (pro ...       }prop.in ... efore')return  ... tart');prop.re ... start')return  ... -end');prop.re ... k-end')return BlockLogical;module. ... ogical;module. ... Logical11:[fun ... on":5}](functi ... ge;\n\n})functio ... age;\n\n}{\n  var ... age;\n\n}var Bor ... operty;BorderI ... ation);BorderI ... ration)BorderI ... uments)BorderI ... r.applyBorderI ... tructorBorderI ... super__BorderI ... mage'];BorderI ... image']BorderImage.names['border-image']BorderI ... \n    };BorderI ... ;\n    }BorderI ... ype.setBorderI ... ototypedecl.va ...  '$1');decl.va ... , '$1')decl.value.replace\s+fill(\s)\s+(\s)BorderI ... prefix)BorderI ... et.callBorderI ... r__.setreturn BorderImage;module. ... rImage;module. ... erImage12:[fun ... on":5}](functi ... us;\n\n})functio ... ius;\n\n}{\n  var ... ius;\n\n}BorderR ... ation);BorderR ... ration){\n    v ... s;\n\n  }var hor ... 1, ver;BorderR ... uments)BorderR ... r.applyBorderR ... tructorBorderR ... super__BorderR ... dius'];BorderR ... adius']BorderRadius.names['border-radius']BorderR ... a = {};BorderR ... la = {}BorderR ... MozillaBorderR ... l = {};BorderR ... al = {}BorderR ... oNormalref = [ ... ttom'];ref = [ ... ottom']['top', 'bottom']for (i  ... }\n    }i = 0,  ... .lengthver = ref[i];ver = ref[i]ref[i]ref1 =  ... ight'];ref1 =  ... right']['left', 'right']j < len1len1 = ref1.lengthref1.lengthhor = ref1[j];hor = ref1[j]ref1[j]normal  ... adius";normal  ... radius""border ... radius""border ... " + hor"border ... r + "-""border-" + verborder--radiusmozilla ...  + hor;mozilla ... r + hor"border ... r + hor"border ... " + verborder-radius-BorderR ... ormal);BorderR ... normal)BorderR ... es.pushBorderR ... zilla);BorderR ... ozilla)BorderR ... ozilla;BorderR ... mozillaBorderR ... normal]BorderR ... normal;BorderR ...  normalBorderR ... ozilla]BorderR ... \n    };BorderR ... }\n    }BorderR ... refixedBorderR ... ototypeprefix === '-moz-'-moz-return  ...  prop);prefix  ... | prop)(Border ... | prop)BorderR ... || propBorderR ... a[prop]BorderR ... d.applyBorderR ... ;\n    }BorderR ... rmalizereturn  ... | prop;BorderR ... l[prop]return BorderRadius;module. ... Radius;module. ... rRadius13:[fun ... on":5}](functi ... de;\n\n})functio ... ide;\n\n}{\n  var ... ide;\n\n}var Bre ... operty;BreakIn ... ation);BreakIn ... ration)BreakIn ... uments)BreakIn ... r.applyBreakIn ... tructorBreakIn ... super__BreakIn ... side'];BreakIn ... nside']BreakInside.names['break ... nside']page-break-inside'column ... inside'column-break-insideBreakIn ... \n    };BreakIn ... }\n    }BreakIn ... refixedBreakIn ... ototypereturn  ... nside';prefix  ... inside'BreakIn ... d.applyBreakIn ... ;\n    }BreakIn ... rmalizeBreakIn ... ype.setdecl.va ... d-page'decl.va ... column'avoid-columnavoid-pagedecl.va ... avoid';decl.value = 'avoid'avoidBreakIn ... t.applyBreakIn ... r__.setBreakIn ... .insertdecl.va ... region'avoid-region{\n\n      }decl.va ... ebkit-'return BreakInside;module. ... Inside;module. ... kInside14:[fun ... e":47}][functi ... e":47}](functi ... es;\n\n})functio ... ges;\n\n}{\n  var ... ges;\n\n}var Cri ... operty;Value = ... alue');Value = ... value')require('../value')../value/valueCrispEd ... Value);CrispEd ... (Value)(functi ... (Value)CrispEd ... uments)CrispEd ... r.applyCrispEd ... tructorCrispEdges.__super__CrispEd ... dges'];CrispEd ... edges']CrispEdges.names['crisp-edges']CrispEd ... \n    };CrispEd ... }\n    }CrispEd ... replaceCrispEdges.prototypereturn  ... rast');string. ... trast')this.regexp()this.regexp'$1-web ... ntrast'$1-webkit-optimize-contrast1-webkit-optimize-contrastCrispEd ... e.applyreturn CrispEdges;module. ... pEdges;module. ... spEdges{"../value":47}"../value":4715:[fun ... c":24}](functi ... ex;\n\n})functio ... lex;\n\n}{\n  var ... lex;\n\n}var Dis ... operty;OldValu ... alue');OldValu ... value')require ... value')../old-value/old-valueOldDisp ... Value);OldDisp ... dValue)(functi ... dValue)functio ... x;\n\n  }{\n    e ... x;\n\n  }this.un ... efixed;this.un ... refixedthis.unprefixedthis.pr ... fixed1;this.pr ... efixed1OldDisp ... \n    };OldDisp ... ;\n    }OldDisp ... e.checkOldDisp ... ototypereturn  ... s.name;value === this.namereturn  ... ayFlex;Display ... Value);Display ... (Value)Display ... flex'];Display ... -flex']DisplayFlex.names['displ ... -flex']Display ... ments);Display ... uments)Display ... r.applyDisplay ... tructorDisplay ... super__name == ... y-flex'this.name = 'flex';this.name = 'flex'Display ... \n    };Display ... ;\n    }Display ... e.checkDisplay ... ototypedecl.va ... is.nameDisplay ... refixedreturn  ... oid 0);prefix  ... void 0)(spec = ... void 0)spec == ...  void 0this.na ... ne-box'this.name === 'flex'boxinline-boxthis.na ... lexbox'inline-flexboxDisplay ... replaceDisplay ... }\n    }Display ... ype.oldvar prefixed;return  ... fixed);new Old ... efixed)return DisplayFlex;module. ... ayFlex;module. ... layFlex{"../ol ... ec":24}"../old-value":3916:[fun ... e":47}]functio ... ble;\n\n}{\n  var ... ble;\n\n}var Fil ... operty;FillAva ... Value);FillAva ... (Value)FillAva ... uments)FillAva ... r.applyFillAva ... tructorFillAva ... super__FillAva ... able'];FillAva ... lable']FillAvailable.names['fill-available']FillAva ... \n    };FillAva ... }\n    }FillAva ... replaceFillAva ... ototypereturn  ... le$3');string. ... ble$3')$1-moz-available$31-moz-availableFillAva ... e.applyFillAva ... ype.oldreturn  ... able');new Old ... lable')-moz-availableFillAva ... d.applyFillAva ... r__.oldreturn  ... ilable;module. ... ilable;module. ... ailable{"../ol ... ue":47}17:[fun ... e":47}](functi ... ue;\n\n})functio ... lue;\n\n}{\n  var ... lue;\n\n}require('../utils')../utilsOldFilt ... Value);OldFilt ... dValue)OldFilt ... uments)OldFilt ... r.applyOldFilt ... tructorOldFilt ... super__OldFilt ... \n    };OldFilt ... ;\n    }OldFilt ... e.cleanOldFilt ... ototypereturn  ... this));decl.va ... (this))utils.e ... (this))utils.editList(functi ... )(this)return  ...      };props.e ...      })props.everyreturn  ...  !== 0;i.index ... ) !== 0i.index ... efixed)i.indexOf_this.unprefixedreturn props;props.f ...      })props.filterreturn  ... === -1;i.index ...  === -1_this.prefixedreturn  ... rValue;FilterV ... Value);FilterV ... (Value)FilterV ... uments)FilterV ... r.applyFilterV ... tructorFilterV ... super__FilterV ... lter'];FilterV ... ilter']FilterValue.names['filter']FilterV ... \n    };FilterV ... }\n    }FilterV ... replaceFilterV ... ototypevalue.i ... ilter')-webkit-filterreturn  ...  value;FilterV ... + valueFilterV ...  + ', 'FilterV ... e.apply, return value;FilterV ... ;\n    }FilterV ... ype.oldreturn  ... .name);new Old ... s.name)prefix + this.namereturn FilterValue;module. ... rValue;module. ... erValue"../utils":4618:[fun ... on":5}]functio ... ter;\n\n}{\n  var ... ter;\n\n}var Dec ... operty;Filter  ... ation);Filter  ... ration){\n    e ... r;\n\n  }Filter. ... uments)Filter. ... r.applyFilter. ... tructorFilter.__super__Filter. ... lter'];Filter. ... ilter']Filter.namesFilter. ... \n    };Filter. ... ;\n    }Filter. ... e.checkFilter.prototypevar v;v = decl.value;v = decl.valuev.toLow ...  === -1v.toLow ... lpha(')v.toLow ... indexOfv.toLowerCase()v.toLowerCasealpha(v.index ...  === -1v.index ... osoft')v.indexOf'DXImag ... rosoft'DXImageTransform.MicrosoftDXImageTransformMicrosoftv.index ... g+xml')data:image/svg+xmldata:image/svg+return Filter;module. ... Filter;module. ...  Filter19:[fun ... c":24}](functi ... is;\n\n})functio ... sis;\n\n}{\n  var ... sis;\n\n}FlexBas ... ation);FlexBas ... ration)FlexBas ... uments)FlexBas ... r.applyFlexBas ... tructorFlexBasis.__super__FlexBas ... size'];FlexBas ... -size']FlexBasis.names['flex- ... -size']'flex-p ... d-size'flex-preferred-sizeFlexBas ... \n    };FlexBas ... ;\n    }FlexBas ... rmalizeFlexBasis.prototypereturn 'flex-basis';FlexBas ... }\n    }FlexBas ... refixedreturn  ... -size';prefix  ... d-size'FlexBas ... d.applyFlexBas ... ype.setspec == ... 'final'FlexBas ... t.applyFlexBas ... r__.setreturn FlexBasis;module. ... xBasis;module. ... exBasis20:[fun ... c":24}]FlexDir ... ation);FlexDir ... ration)FlexDir ... uments)FlexDir ... r.applyFlexDir ... tructorFlexDir ... super__FlexDir ... ient'];FlexDir ... rient']FlexDirection.names['flex- ... rient']box-directionbox-orientFlexDir ... \n    };FlexDir ... ;\n    }FlexDir ... rmalizeFlexDir ... ototypereturn  ... ction';FlexDir ... }\n    }FlexDir ... .insertvar alr ...  value;decl.pa ...      })decl.parent.somei.prop  ... ection'i.prop  ... orient'prefix  ... orient'prefix  ... ection'value = decl.value;value = decl.valueorient  ... tical';orient  ... rtical'value.i ... rtical'value.indexOf('row')horizontalverticaldir = v ... ormal';dir = v ... normal'value.i ... normal'value.i ... verse')cloned  ... (decl);cloned  ... e(decl)cloned. ... rient';cloned. ... orient'cloned.propcloned. ... orient;cloned. ...  orientcloned.valuedecl.pa ... loned);cloned. ... ction';cloned. ... ection'cloned.value = dir;cloned.value = dirFlexDir ... t.applyFlexDir ... ype.oldreturn  ... tion'];[prefix ... ction']FlexDir ... d.applyFlexDir ... r__.oldreturn  ... ection;module. ... rection21:[fun ... c":24}](functi ... ow;\n\n})functio ... low;\n\n}{\n  var ... low;\n\n}FlexFlo ... ation);FlexFlo ... ration)functio ... w;\n\n  }{\n    e ... w;\n\n  }FlexFlo ... uments)FlexFlo ... r.applyFlexFlo ... tructorFlexFlow.__super__FlexFlo ... flow'];FlexFlo ... -flow']FlexFlow.names['flex-flow']FlexFlo ... \n    };FlexFlo ... }\n    }FlexFlo ... ype.setFlexFlow.prototypeFlexFlo ... t.applyFlexFlo ... r__.setreturn FlexFlow;module. ... exFlow;module. ... lexFlow22:[fun ... c":24}]Flex =  ... ation);Flex =  ... ration)Flex.__ ... uments)Flex.__ ... r.applyFlex.__ ... tructorFlex.__super__Flex.na ... tive'];Flex.na ... itive']Flex.names['flex- ... itive']flex-positiveFlex.pr ... \n    };Flex.pr ... ;\n    }Flex.pr ... rmalizeFlex.prototypereturn 'flex';Flex.pr ... }\n    }Flex.pr ... refixedreturn  ... -flex';prefix + 'box-flex'box-flexreturn  ... itive';prefix  ... sitive'Flex.__ ... d.applyFlex.__ ... refixedreturn Flex;module. ... = Flex;module. ...  = Flex23:[fun ... c":24}](functi ... nk;\n\n})functio ... ink;\n\n}{\n  var ... ink;\n\n}FlexShr ... ation);FlexShr ... ration)functio ... k;\n\n  }{\n    e ... k;\n\n  }FlexShr ... uments)FlexShr ... r.applyFlexShr ... tructorFlexShrink.__super__FlexShr ... tive'];FlexShr ... ative']FlexShrink.names['flex- ... ative']flex-negativeFlexShr ... \n    };FlexShr ... ;\n    }FlexShr ... rmalizeFlexShrink.prototypereturn  ... hrink';FlexShr ... }\n    }FlexShr ... refixedreturn  ... ative';prefix  ... gative'FlexShr ... d.applyFlexShr ... ype.setFlexShr ... t.applyFlexShr ... r__.setreturn FlexShrink;module. ... Shrink;module. ... xShrink24:[fun ... \n\n},{}][functi ... \n\n},{}](functi ...  };\n\n})functio ...   };\n\n}{\n  mod ...   };\n\n}module. ... ];\n  };module. ... x];\n  }functio ... x];\n  }{\n    v ... x];\n  }spec =  ... void 0;spec =  ...  void 0prefix  ...  void 0prefix  ... '-moz-'prefix  ... - 2009'-webkit- 2009prefix === '-ms-'if (pre ... ;\n    }prefix = '-webkit-';prefix = '-webkit-'return  ... refix];[spec, prefix]25:[fun ... e":47}]functio ... ues;\n\n}{\n  var ... ues;\n\n}var Fle ... operty;FlexVal ... Value);FlexVal ... (Value)FlexVal ... uments)FlexVal ... r.applyFlexVal ... tructorFlexValues.__super__FlexVal ... asis'];FlexVal ... basis']FlexValues.names['flex' ... basis']FlexVal ... \n    };FlexVal ... ;\n    }FlexVal ... refixedFlexValues.prototypethis.al ... prefix)this.all.prefixedFlexVal ... replacereturn  ...  '$3');string. ... + '$3')'$1' +  ...  + '$3''$1' +  ... prefix)FlexVal ... ype.oldreturn  ... efix));new Old ... refix))return FlexValues;module. ... Values;module. ... xValues26:[fun ... c":24}](functi ... ap;\n\n})functio ... rap;\n\n}{\n  var ... rap;\n\n}FlexWra ... ation);FlexWra ... ration)functio ... p;\n\n  }{\n    e ... p;\n\n  }FlexWra ... uments)FlexWra ... r.applyFlexWra ... tructorFlexWrap.__super__FlexWra ... wrap'];FlexWra ... -wrap']FlexWrap.names['flex-wrap']FlexWra ... \n    };FlexWra ... }\n    }FlexWra ... ype.setFlexWrap.prototypespec !== 2009FlexWra ... t.applyFlexWra ... r__.setreturn FlexWrap;module. ... exWrap;module. ... lexWrap27:[fun ... ":102}][functi ... ":102}]list =  ... list');list =  ... /list')require ... /list')postcss/lib/listFlex.na ... flex'];Flex.na ... -flex']['flex', 'box-flex']Flex.ol ... \n    };Flex.ol ... '\n    }Flex.oldValues'auto': '1'auto'none': '0'noneFlex.prototype.setdecl.va ... ue)[0];decl.va ... lue)[0]list.sp ... lue)[0]list.sp ... .value)list.spaceFlex.ol ... l.valueFlex.ol ... .value]Flex.__ ... prefix)Flex.__ ... et.callFlex.__super__.setFlex.__ ... t.apply{"../de ... t":102}"postcs ... st":10228:[fun ... r":44}][functi ... r":44}](functi ... en;\n\n})functio ... een;\n\n}{\n  var ... een;\n\n}var Ful ... operty;Selecto ... ctor');Selecto ... ector')require ... ector')../selector/selectorFullscr ... ector);Fullscr ... lector)(functi ... lector)Fullscr ... uments)Fullscr ... r.applyFullscr ... tructorFullscreen.__super__Fullscr ... reen'];Fullscr ... creen']Fullscreen.names[':fullscreen']Fullscr ... \n    };Fullscr ... }\n    }Fullscr ... refixedFullscreen.prototypeif ('-w ...       }'-webki ...  prefixreturn  ... creen';':-webk ... screen':-webkit-full-screenif ('-m ...       }'-moz-' === prefix:-moz-full-screenreturn  ... creen";":" + p ... screen"":" + prefixfullscreenreturn Fullscreen;module. ... screen;module. ... lscreen{"../selector":44}"../selector":4429:[fun ... ":102}]var Gra ... operty;isDirec ... tom/gi;isDirec ... ttom/gi/top|le ... ttom/gitop|left|right|bottomGradien ... Value);Gradien ... (Value)Gradien ... uments)Gradien ... r.applyGradien ... tructorGradient.__super__Gradien ... ient'];Gradien ... dient']Gradient.names['linea ... dient']Gradien ... \n    };Gradien ... ;\n    }Gradien ... replaceGradient.prototypereturn  ... n(' ');list.sp ... in(' ')list.sp ... )).joinlist.sp ... (this))list.sp ... ng).maplist.space(string)var aft ... params;value.s ... e + '('value.s ... || 9e9)value.slice+_this. ...  || 9e9+_this. ... gth + 1+_this.name.length_this.name.length_this.name9000000000_this.name + '('close = ... f(')');close = ... Of(')')value.l ... Of(')')value.lastIndexOfafter = ... e + 1);after = ... se + 1)value.s ... se + 1)close + 1args =  ... | 9e9);args =  ... || 9e9)_this.n ... gth + 1+(close ...  || 9e9+(close - 1) + 1+(close - 1)(close - 1)close - 1params  ... (args);params  ... a(args)list.comma(args)list.commaparams  ... arams);params  ... params)_this.n ... params)_this.newDirectionprefix  ... t- old'-webkit- oldreturn  ... after);_this.o ...  after)_this.oldWebkit_this.c ... arams);_this.c ... params)_this.c ... rectionreturn  ...  after;prefix  ... + afterprefix  ... ) + ')'prefix  ... n(', ')prefix  ... e + '('prefix + _this.nameparams.join(', ')params.joinGradien ... '\n    }Gradien ... ectionstop: 'bottom'left: 'right'bottom: 'top'right: 'left''top':  ... ft top''left b ... ft top'left bottom, left top'left': ... ft top''right  ... ft top'right top, left top'bottom ... bottom''left t ... bottom'left top, left bottom'right' ... ht top''left t ... ht top'left top, right top'top ri ... ht top'top right'left b ... ht top'left bottom, right top'top le ... ft top'top leftright bottom, left top'right  ... ht top'right top'right  ... bottom'right bottomleft top, right bottombottom rightbottom leftright top, left bottom'left t ... ft top'left top'left b ... bottom'left bottomGradien ... rectionvar first, value;first = params[0];first = params[0]params[0]if (fir ...       }first.i ... (first)first.i ...  === -1first.indexOf('to ')first.indexOfto isDirec ... (first)isDirection.testfirst = ... t(' ');first = ... it(' ')first.split(' ')first.splitfirst = ... (this);first = ... l(this)var j, len, results;len = first.lengthfirst.lengthvalue = first[j];value = first[j]first[j]results ... value);results ...  value)this.di ... | valuethis.di ... Case()]this.directionsvalue.toLowerCase()value.toLowerCaseparams[ ... n(' ');params[ ... in(' ')'to ' + ... in(' ')first.join(' ')first.joinreturn params;Gradien ... dWebkitif (arg ...       }args.in ...  !== -1args.indexOf('px')args.indexOfpxthis.na ... adient'params[ ...  !== -1params[ ... ('deg')params[0].indexOfdegargs.in ... orner')-cornerargs.in ... -side')-sidethis.ol ... params)this.oldDirectionthis.co ... params)this.colorStops'-webki ... + after'-webki ... ) + ')''-webki ... n(', ')'-webki ... near, '-webkit-gradient(linear, Gradien ... }\n    }params.length > 0params.lengthparams[ ... = 'to 'params[ ... e(0, 3)params[0].slicereturn  ... ms[0]);params[ ... ams[0])this.fi ... ams[0])this.fixDirectionthis.fixAngleparams[ ... ' at ') at return  ... arams);this.fi ... params)this.fixRadialparam = ... t(' ');param = ... it(' ')param.split(' ')param.splitparam.splice(0, 1);param.splice(0, 1)param.spliceparam = ... (this);param = ... l(this)len = param.lengthparam.lengthvalue = param[j];value = param[j]param[j]param.join(' ')param.joinGradien ... ndFloatreturn  ... gits));parseFl ... igits))float.t ... digits)float.toFixedGradien ... ixAngleparam = ... param);param = ... (param)parseFloat(param)param = ...  % 360;param = ... ) % 360Math.ab ... ) % 360Math.ab ...  param)450 - paramparam = ... am, 3);param = ... ram, 3)this.ro ... ram, 3)this.roundFloatreturn  ...  "deg";param + "deg"var direction;params.length === 0params;params[ ... ('to ')directi ... /, '');directi ... +/, '')params[ ... +/, '')params[0].replace^to\s+directi ... ction];directi ... ection]this.ol ... ection]this.oldDirectionsparams[ ... ection;params[ ... rectiondirecti ... bottom;directi ... .bottomthis.ol ... .bottom[direct ... params)[direction].concat[direction]Gradien ... orStopsparams. ...      })params.mapvar col ... n, ref;if (i = ...       }i === 0return param;ref = l ... ref[1];ref = l ...  ref[1]ref = l ... (param)list.space(param)color = ref[0]position = ref[1]if (pos ...       }position == nullmatch = ... .*)$/);match = ... d.*)$/)param.m ... d.*)$/)param.match^(.*\))(\d.*)$(.*\)).*\)\)(\d.*)\d.*\dcolor = match[1];color = match[1]position = match[2];position = match[2]match[2]positio ...  !== -1positio ... Of(')')position.indexOfcolor + ... sition;color + ... osition' ' + positionposition = void 0;position = void 0i === 1 ... = '0%')i === 1(positi ... = '0%')positio ... == '0%'position === void 0position === '0%'0%return  ...  + ")";"from(" ... r + ")""from(" + colorfrom(i === p ... '100%')i === p ... gth - 1params.length - 1(positi ... '100%')positio ...  '100%'position === '100%'"to(" + color + ")""to(" + colorto("color- ... r + ")""color- ... + color"color- ...  + ", ""color- ... ositioncolor-stop(Gradien ... xRadialvar first;first = ... t\s+/);first = ... at\s+/)params[ ... at\s+/)params[0].split\s+at\s+return  ... st[0]);params. ... rst[0])params.splicefirst[1]first[0]Gradien ... ype.oldvar reg ... , type;type =  ... adial';type =  ... radial'this.na ... radial'linearradialstring  ... dient';string = '-gradient'-gradientregexp  ... false);regexp  ...  false)utils.r ...  false)utils.regexp"-webki ... e + ")""-webki ...  + type"-webki ... \(\\s*""-webkit-(" + type-webkit-("-gradi ... \(\\s*"-gradient|gradient\(\s*gradient\(\s*gradient\(return  ... egexp);new Old ... regexp)Gradien ... d.applyGradien ... r__.oldGradien ... ype.addvar p;p = decl.prop;p = decl.propif (p.i ...       }p.index ...  !== -1p.indexOf('mask')p.indexOfGradien ... r__.addif (p = ...       }p === ' ... ontent'p === ' ... -image'p === 'list-style'p === 'content'return Gradient;module. ... adient;module. ... radient{"../ol ... t":102}30:[fun ... on":5}](functi ... ng;\n\n})functio ... ing;\n\n}{\n  var ... ing;\n\n}ImageRe ... ation);ImageRe ... ration)functio ... g;\n\n  }{\n    e ... g;\n\n  }ImageRe ... uments)ImageRe ... r.applyImageRe ... tructorImageRe ... super__ImageRe ... mode'];ImageRe ... -mode']ImageRendering.names['image ... -mode']interpolation-modeImageRe ... \n    };ImageRe ... ;\n    }ImageRe ... e.checkImageRe ... ototypereturn  ... edges';decl.va ... -edges'ImageRe ... }\n    }ImageRe ... refixedreturn  ... -mode';'-ms-in ... n-mode'-ms-interpolation-modeImageRe ... d.applyImageRe ... ype.setdecl.pr ... -mode';decl.pr ... n-mode'decl.va ... ghbor';decl.va ... ighbor'nearest-neighborImageRe ... t.applyImageRe ... r__.setImageRe ... rmalizereturn  ... ering';return  ... dering;module. ... dering;module. ... ndering31:[fun ... on":5}]InlineL ... ation);InlineL ... ration)InlineL ... uments)InlineL ... r.applyInlineL ... tructorInlineL ... super__InlineL ... -end'];InlineL ... g-end']InlineLogical.names['borde ... g-end']border-startborder-endmargin-startmargin-endpadding-startpadding-endInlineL ... \n    };InlineL ... ;\n    }InlineL ... refixedInlineL ... ototypereturn  ... ', '');prefix  ... e', '')prop.re ... e', '')-inlineInlineL ... rmalizereturn  ... e-$2');prop.re ... ne-$2')/(margi ... t|end)/(margin|padding|border)-(start|end)(margin|padding|border)margin|padding|border(start|end)start|end$1-inline-$21-inline-return  ... ogical;32:[fun ... c":24}]Justify ... ation);Justify ... ration)Justify ... uments)Justify ... r.applyJustify ... tructorJustify ... super__Justify ... pack'];Justify ... -pack']JustifyContent.names['justi ... -pack']flex-packbox-packJustify ... \n    };Justify ... '\n    }Justify ... dValuesJustify ... }\n    }Justify ... refixedJustify ... ototypeprefix + 'box-pack'prefix + 'flex-pack'Justify ... d.applyJustify ... ;\n    }Justify ... rmalizeJustify ... ype.setvar spec, value;value = ... .value;value = ... l.valueJustify ... l.valueJustify ... .value]decl.value = value;decl.value = valuespec != ... ribute'value ! ... ribute'Justify ... prefix)Justify ... et.callJustify ... r__.setJustify ... t.applyreturn  ... ontent;33:[fun ... c":24}]functio ... der;\n\n}{\n  var ... der;\n\n}Order = ... ation);Order = ... ration)Order._ ... uments)Order._ ... r.applyOrder._ ... tructorOrder.__super__Order.n ... roup'];Order.n ... group']Order.names['order ... group']flex-orderbox-ordinal-groupOrder.p ... \n    };Order.p ... }\n    }Order.p ... refixedOrder.prototypereturn  ... group';prefix  ... -group'return  ... order';prefix  ... -order'Order._ ... d.applyOrder._ ... refixedOrder.p ... ;\n    }Order.p ... rmalizereturn 'order';Order.prototype.setdecl.va ... ring();decl.va ... tring()(parseI ... tring()(parseI ... oString(parseI ... e) + 1)parseIn ... ue) + 1parseInt(decl.value)Order._ ... prefix)Order._ ... et.callOrder.__super__.setOrder._ ... t.applyreturn Order;module. ...  Order;module. ... = Order34:[fun ... r":44}]var Pla ... operty;Placeho ... ector);Placeho ... lector)Placeho ... uments)Placeho ... r.applyPlaceho ... tructorPlaceho ... super__Placeho ... lder'];Placeho ... older']Placeholder.names[':plac ... older']Placeho ... \n    };Placeho ... ;\n    }Placeho ... ossiblePlaceho ... ototypereturn  ...  old');Placeho ... - old')Placeho ... .concatPlaceho ... e.apply-moz- oldPlaceho ... }\n    }Placeho ... refixedreturn  ... older';'::-web ... holder'::-webkit-input-placeholder'-ms-' === prefix':-ms-i ... holder':-ms-input-placeholder'-moz-  ...  prefix:-moz-placeholderreturn  ... older";"::" +  ... holder""::" + prefix::return Placeholder;module. ... holder;module. ... eholder35:[fun ... on":5}](functi ... cl;\n\n})functio ... ecl;\n\n}{\n  var ... ecl;\n\n}Transfo ... ation);Transfo ... ration)Transfo ... uments)Transfo ... r.applyTransfo ... tructorTransfo ... super__Transfo ... igin'];Transfo ... rigin']TransformDecl.names['trans ... rigin']Transfo ... tive'];Transfo ... ctive']Transfo ... tions3d['matri ... ctive']matrix3dtranslate3dtranslateZscale3dscaleZrotate3drotateXrotateYrotateZTransfo ... \n    };Transfo ... ;\n    }Transfo ... Parentsvar parent;parent  ... parent;parent = decl.parentwhile ( ...       }parent. ... frames'parent. ... atrule'parent.typeparent.nameparent  ... .parentparent.parentTransfo ... ntain3dvar fun ... n, ref;decl.pr ... origin'ref = T ... ions3d;ref = T ... tions3dfunc = ref[i];func = ref[i]decl.va ...  !== -1decl.va ...  + "(")decl.value.indexOffunc + "("Transfo ... }\n    }Transfo ... .insert!this.c ... s(decl)!this.c ... d(decl)this.contain3d(decl)this.contain3d!this.k ... s(decl)this.ke ... s(decl)this.keykrameParentsTransfo ... t.applyprefix === '-o-'return  ... rmDecl;module. ... rmDecl;module. ... ormDecl36:[fun ... e":47}]var Tra ... operty;Transfo ... Value);Transfo ... (Value)Transfo ... form'];Transfo ... sform']TransformValue.names['transform']Transfo ... replaceTransfo ... e.applyreturn  ... mValue;module. ... mValue;module. ... rmValue37:[fun ... \n\n},{}]{\n  var ...   };\n\n}var cap ... prefix;capital ... );\n  };capital ... 1);\n  }functio ... 1);\n  }{\n    r ... 1);\n  }return  ... ice(1);str.sli ... lice(1)str.sli ... rCase()str.sli ... perCasestr.slice(0, 1)str.slicestr.slice(1)names = ... d'\n  };names = ... id'\n  }{\n    i ... id'\n  }ie: 'IE'IEie_mob: 'IE Mobile'IE Mobileios_saf: 'iOS'iOSop_mini ... a Mini'Opera Miniop_mob: ... Mobile'Opera Mobileand_chr ... ndroid'Chrome for Androidand_ff: ... ndroid''Firefo ... ndroid'Firefox for Androidand_uc: ... ndroid'UC for Androidprefix  ... t;\n  };prefix  ... ut;\n  }functio ... ut;\n  }{\n    v ... ut;\n  }var out;out = ' ... + ': ';out = ' ...  + ': ''  ' +  ...  + ': ''  ' +  ... ' : '')'  ' + name  (transi ... ' : '')transit ... *' : ''out +=  ... (', ');out +=  ... n(', ')prefixe ... n(', ')prefixe ... }).joinprefixe ... \n    })prefixes.mapreturn  ...  '$1');i.repla ... , '$1')i.replace^-(.*)-$out += "\n";out += "\n"return out;module. ... t;\n  };module. ... ut;\n  }var atr ... rsions;prefixe ... h === 0prefixe ... .lengthprefixe ... electedprefixes.browsersreturn  ... ected";"No bro ... lected"No browsers selectedversions = [];versions = []ref = p ... lected;ref = p ... electedfor (j  ... }\n    }browser = ref[j];browser = ref[j]ref1 =  ... ef1[1];ref1 =  ... ref1[1]ref1 =  ... it(' ')name = ref1[0]ref1[0]version = ref1[1]ref1[1]name =  ... (name);name =  ... e(name)names[n ... e(name)names[name]capitalize(name)if (ver ...       }versions[name]version ... rsion);version ... ersion)versions[name].pushversion ... rsion];version ... ersion][version]out = "Browsers:\n";out = "Browsers:\n"Browsers:
for (br ... ;\n    }list =  ... owser];list =  ... rowser]versions[browser]list =  ...     });list =  ...      })list.so ...      })list.sortreturn  ... oat(a);parseFl ... loat(a)parseFloat(b)parseFloat(a)out +=  ... + "\n";out +=  ...  + "\n"'  ' +  ...  + "\n"'  ' +  ... n(', ')'  ' + browserlist.join(', ')list.joinatrules = '';atrules = ''ref2 = prefixes.add;ref2 = prefixes.addprefixes.addfor (na ... }\n    }data = ref2[name];data = ref2[name]ref2[name]name[0] ... refixesname[0] === '@'name[0]data.prefixesatrules ... fixes);atrules ... efixes)prefix( ... efixes)if (atr ... ;\n    }atrules !== ''out +=  ... trules;out +=  ... atrules"\nAt-R ... atrules
At-Rules:
selectors = '';selectors = ''ref3 =  ... ectors;ref3 =  ... lectorsprefixe ... lectorsfor (k  ... }\n    }k < len1len1 = ref3.lengthref3.lengthselector = ref3[k];selector = ref3[k]ref3[k]if (sel ...       }selector.prefixesselecto ... fixes);selecto ... efixes)selector.nameif (sel ... ;\n    }selectors !== ''out +=  ... ectors;out +=  ... lectors"\nSele ... lectors
Selectors:
values = '';values = ''props = '';props = ''useTran ...  false;useTran ... = falseneedTra ... void 0;needTra ...  void 0(ref4 = ...  void 0(ref4 = ... != null(ref4 = ... sition)ref4 =  ... nsitionprefixe ... nsitionref4.prefixesref5 = prefixes.add;ref5 = prefixes.adddata = ref5[name];data = ref5[name]ref5[name]name[0] !== '@'transit ... sition;transit ... nsitionneedTra ... nsitionprefixes.data[name]prefixes.dataif (tra ...       }useTran ... = true;useTransition = trueprops + ... fixes);props + ... efixes)if (!da ...       }!data.valuesdata.valuesprefixe ... ps.someprefixe ... onPropsreturn i === name;i === nameref6 = data.values;ref6 = data.valuesfor (l  ...       }l < len2l++l = 0,  ... .lengthl = 0len2 = ref6.lengthref6.lengthvalue = ref6[l];value = ref6[l]ref6[l]string  ... fixes);string  ... efixes)value.namevalue.prefixesvalues. ...  === -1values. ... string)values.indexOfvalues += string;values += stringif (use ... ;\n    }props + ... ion\n";props + ... tion\n""  * -  ... tion\n"  * - can be used in transition
 - can be used in transition
if (pro ... ;\n    }props !== ''out +=  ...  props;out +=  ... + props"\nProp ... + props
Properties:
if (val ... ;\n    }values !== ''out +=  ... values;out +=  ...  values"\nValu ...  values
Values:
atrules ...  === ''atrules === ''selectors === ''props === ''values === ''out +=  ... teps.';out +=  ... steps.''\nAwes ... steps.''\nAwes ... fixes.'
Awesome! Your browsers don't require any vendor prefixes.
Awesome! Your browsers don't require any vendor prefixes'\nNow  ... steps.'
Now you can remove Autoprefixer from build steps.
Now you can remove Autoprefixer from build steps38:[fun ... \n\n},{}](functi ... or;\n\n})functio ... tor;\n\n}{\n  var ... tor;\n\n}var OldSelector;OldSele ...   })();OldSele ... \n  })()var i,  ... x, ref;this.pr ... refix1;this.pr ... prefix1this.prefixthis.pr ... refix);selecto ... prefix)selector.prefixedthis.re ... refix);this.re ... prefix)selector.regexpthis.prefixeds = [];this.prefixeds = []this.prefixedsref = s ... ible();ref = s ... sible()selector.possible()selector.possibleprefix = ref[i];prefix = ref[i]this.pr ... fix)]);this.pr ... efix)])this.prefixeds.push[select ... refix)]this.un ... r.name;this.un ... or.namethis.na ... gexp();this.na ... egexp()this.nameRegexpselector.regexp()OldSele ... \n    };OldSele ... ;\n    }OldSele ... .isHackOldSele ... ototypevar bef ... string;index = ... e) + 1;index = ... le) + 1rule.pa ... le) + 1rule.pa ... x(rule)rule.parent.indexrules = ... .nodes;rules = ... t.nodesrule.parent.nodesindex < rules.lengthrules.lengthbefore  ... lector;before  ... electorrules[i ... electorrules[index]if (!be ...       }!beforeif (bef ...       }before. ... Regexp)before. ...  !== -1before. ... efixed)before.indexOfbefore.matchsome = false;some = falseref = t ... fixeds;ref = this.prefixedsref1 = ref[i]string = ref1[0]regexp = ref1[1]before. ... regexp)before. ... string)before.match(regexp)some = true;some = truebreak;if (!so ...       }!someindex += 1;index += 1OldSele ... e.checkif (rul ...       }rule.se ...  === -1rule.se ... efixed)rule.se ... indexOfrule.selectorif (!ru ...       }!rule.s ... regexp)rule.se ... regexp)rule.selector.matchthis.isHack(rule)this.isHackreturn OldSelector;module. ... lector;module. ... elector39:[fun ... s":46}][functi ... s":46}]var OldValue, utils;OldValu ...   })();OldValu ... \n  })(){\n    f ... e;\n\n  }this.pr ... efixed;this.pr ... refixedthis.st ... string;this.string = stringthis.stringthis.re ... regexp;this.regexp = regexpthis.re ... ixed));this.re ... fixed))(this.r ... fixed))this.re ... efixed)utils.r ... efixed)this.st ... fixed);this.st ... efixed)(this.s ... efixed)this.st ... refixedOldValu ... \n    };OldValu ... }\n    }OldValu ... e.checkOldValue.prototypevalue.i ... string)!!value ... regexp)!value. ... regexp)value.m ... regexp)value.matchreturn OldValue;module. ... dValue;module. ... ldValue{"./utils":46}40:[fun ... ":113}]clone = ... d;\n  };clone = ... ed;\n  }functio ... ed;\n  }{\n    v ... ed;\n  }var clo ...  value;typeof objreturn obj;cloned  ... ctor();cloned  ... uctor()new obj ... uctor()obj.constructorif (!ha ... ntinue;!hasPro ... obj, i)hasProp.call(obj, i)value = obj[i];value = obj[i]obj[i]i === ' ... object'i === 'parent'typeof valuecloned[i] = parent;cloned[i] = parentcloned[i]i === 'source'cloned[i] = value;cloned[i] = valuevalue i ... f Arraycloned[ ...     });cloned[ ...      })value.m ...      })value.mapclone(i, cloned)if (i ! ...       }i !== ' ... Values'i !== ' ... Prefix''_autop ... Prefix''_autop ... Values'cloned[ ... loned);cloned[ ... cloned)clone(value, cloned)return cloned;Prefixe ...   })();Prefixe ... \n  })(){\n    P ... r;\n\n  }Prefixe ... \n    };Prefixe ... ;\n    }Prefixer.hackthis.ha ...  = {});this.ha ... s = {})this.hacks(this.hacks = {})this.hacks = {}ref = klass.names;ref = klass.namesklass.namesname = ref[j];name = ref[j]results ... klass);results ...  klass)this.ha ... = klassthis.hacks[name]Prefixe ... }\n    }Prefixer.loadvar klass, ref;klass = ... void 0;klass = ...  void 0(ref = this.hacks)ref = this.hacksref[name]if (kla ...       }return  ... , all);new kla ... s, all)new thi ... s, all)Prefixer.clonevar cloned, name;cloned  ... (node);cloned = clone(node)clone(node)cloned[ ... [name];cloned[ ... s[name]cloned[name]overrides[name]this.name = name1;this.name = name1this.pr ... fixes1;this.pr ... efixes1this.all = all1;this.all = all1Prefixe ... tPrefixPrefixer.prototypevar prefix;prefix  ... arent);prefix  ... parent)node._a ... parent)node._a ... != nullnode._a ... rPrefixnode.ty ... parent)node.ty ... === '-'node.type === 'decl'node.typenode.prop[0] === '-'node.prop[0]node.propvendor. ... e.prop)vendor.prefixnode.type === 'root'node.ty ...  !== -1node.type === 'rule'node.se ...  !== -1node.se ... f(':-')node.se ... indexOfnode.selector:-node.se ... -)/)[1]node.se ... \w+-)/)node.selector.match:(-\w+-)(-\w+-)-\w+-\w+node.ty ... atrule'node.name[0] === '-'node.name[0]node.namevendor. ... e.name)this.pa ... parent)node.parentif (Bro ...       }Browser ...  === -1Browser ... prefix)Browser ... indexOfprefix = false;prefix = falsereturn  ... prefix;node._a ...  prefixPrefixe ... processvar add ... s, ref;!this.check(node)this.check(node)this.checkprefixes = [];prefixes = []parent  ... prefix)prefixes.pushadded = [];added = []for (k  ...       }len1 =  ... .lengthprefix  ... xes[k];prefix = prefixes[k]prefixes[k]this.ad ... efix]))added.c ... refix])added.concat[prefix]added.push(prefix);added.push(prefix)added.pushreturn added;Prefixe ... e.clonereturn  ... rides);Prefixe ... rrides)return Prefixer;41:[fun ... ":113}]functio ... xes;\n\n}{\n  var ... xes;\n\n}var AtR ... vendor;./declarationResolut ... tion');Resolut ... ution')./resolution/resolutionProcess ... ssor');Process ... essor')require ... essor')./processor/processorSupport ... orts');Support ... ports')require ... ports')./supports/supports./selectorAtRule  ... rule');AtRule  ... -rule')require('./at-rule')./at-rule/at-rulerequire('./value')./valueSelecto ... een'));Selecto ... reen'))Selector.hack./hacks/fullscreen/hacks/fullscreenSelecto ... der'));Selecto ... lder'))'./hack ... holder'./hacks/placeholder/hacks/placeholderDeclara ... lex'));Declara ... flex'))Declaration.hackrequire ... /flex')./hacks/flex/hacks/flexDeclara ... der'));Declara ... rder'))require ... order')./hacks/order/hacks/orderDeclara ... ter'));Declara ... lter'))require ... ilter')./hacks/filter/hacks/filterDeclara ... low'));Declara ... flow'))require ... -flow')./hacks/flex-flow/hacks/flex-flowDeclara ... row'));Declara ... grow'))require ... -grow')./hacks/flex-grow/hacks/flex-growDeclara ... rap'));Declara ... wrap'))require ... -wrap')./hacks/flex-wrap/hacks/flex-wrapDeclara ... elf'));Declara ... self'))require ... -self')./hacks/align-self/hacks/align-selfDeclara ... sis'));Declara ... asis'))require ... basis')./hacks/flex-basis/hacks/flex-basisDeclara ... ems'));Declara ... tems'))require ... items')'./hack ... -items'./hacks/align-items/hacks/align-itemsDeclara ... ink'));Declara ... rink'))require ... hrink')'./hack ... shrink'./hacks/flex-shrink/hacks/flex-shrinkDeclara ... ide'));Declara ... side'))require ... nside')'./hack ... inside'./hacks/break-inside/hacks/break-insideDeclara ... age'));Declara ... mage'))'./hack ... -image'./hacks/border-image/hacks/border-imageDeclara ... ent'));Declara ... tent'))require ... ntent')'./hack ... ontent'./hacks/align-content/hacks/align-contentDeclara ... ius'));Declara ... dius'))'./hack ... radius'./hacks/border-radius/hacks/border-radiusDeclara ... cal'));Declara ... ical'))require ... gical')'./hack ... ogical'./hacks/block-logical/hacks/block-logical./hacks/inline-logical/hacks/inline-logicalDeclara ... ecl'));Declara ... decl'))require ... -decl')'./hack ... m-decl'./hacks/transform-decl/hacks/transform-declDeclara ... ion'));Declara ... tion'))'./hack ... ection'./hacks/flex-direction/hacks/flex-directionDeclara ... ing'));Declara ... ring'))require ... ering')'./hack ... dering'./hacks/image-rendering/hacks/image-rendering./hacks/justify-content/hacks/justify-contentDeclara ... ize'));Declara ... size'))require ... -size')'./hack ... d-size'./hacks/background-size/hacks/background-sizeValue.h ... ent'));Value.h ... ient'))Value.hackrequire ... dient')./hacks/gradient/hacks/gradientValue.h ... ges'));Value.h ... dges'))'./hack ... -edges'./hacks/crisp-edges/hacks/crisp-edgesValue.h ... ues'));Value.h ... lues'))require ... alues')'./hack ... values'./hacks/flex-values/hacks/flex-valuesValue.h ... lex'));Value.h ... flex'))require ... -flex')'./hack ... y-flex'./hacks/display-flex/hacks/display-flexValue.h ... lue'));Value.h ... alue'))'./hack ... -value'./hacks/filter-value/hacks/filter-valueValue.h ... ble'));Value.h ... able'))require ... lable')'./hack ... ilable'./hacks/fill-available/hacks/fill-available./hacks/transform-value/hacks/transform-valuedeclsCache = {};declsCache = {}{\n    f ... s;\n\n  }this.br ... owsers;this.br ... rowsersthis.browsersthis.op ... s : {};this.op ... ns : {}options ... ns : {}ref = t ... ref[1];ref = t ...  ref[1]ref = t ... .data))this.pr ... .data))this.preprocessthis.se ... s.data)this.selectthis.add = ref[0]this.remove = ref[1]this.removethis.pr ... (this);this.pr ... r(this)this.processornew Processor(this)Prefixe ... erty'];Prefixe ... perty']Prefixe ... onPropsPrefixes.prototype['trans ... perty']Prefixe ... cleanervar empty;!this.cleanerCachethis.cleanerCachethis.br ... .lengththis.br ... electedempty = ... a, []);empty = ... ta, [])new Bro ... ta, [])this.browsers.datathis.cl ... tions);this.cl ... ptions)return this;return  ... rCache;Prefixe ... .selectvar add ... lected;selecte ...      };selecte ...       }add: {}remove: {}data = list[name];data = list[name]list[name]add = d ...     });add = d ...      })data.br ...      })data.browsers.mapvar params;params  ... t(' ');params  ... it(' ')browser ... rams[1]params[ ... rams[1]params[0] + ' 'params[1]note: params[2]params[2]notes = ... this));notes = ... (this))add.fil ... (this))add.fil ...  }).mapadd.fil ...      })add.filterreturn i.note;i.notereturn  ... i.note;_this.b ...  i.note_this.b ... ) + ' '_this.b ... rowser)_this.b ... .prefix_this.browsersi.browsernotes = ... notes);notes = ... (notes)utils.uniq(notes)add = a ... this));add = a ... (this))add.fil ... s)).mapreturn  ... owser);_this.b ... electedprefix  ... owser);prefix  ... rowser)if (i.n ...       }prefix  ...  i.noteprefix + ' 'return prefix;add = t ... (add));add = t ... q(add))this.so ... q(add))this.sortutils.uniq(add)all = d ... this));all = d ... (this))data.br ... (this))return  ... fix(i);_this.b ... efix(i)data.mistakesall = a ... takes);all = a ... stakes)all.con ... stakes)all.concatall = a ... notes);all = a ... (notes)all.concat(notes)all = u ... q(all);all = u ... iq(all)utils.uniq(all)if (add ...       }add.lengthselecte ...  = add;selecte ... ] = addselected.add[name]selected.addadd.len ... .lengthall.lengthselecte ...     });selecte ...      })selecte ... e[name]selected.removeall.fil ...      })all.filteradd.ind ...  === -1add.indexOf(i)add.indexOfselecte ...  = all;selecte ... ] = allPrefixe ... pe.sortprefixes.sortvar aLe ... Length;aLength ... length;aLength ... .lengthutils.removeNote(a)bLength ... length;bLength ... .lengthutils.removeNote(b)if (aLe ...       }aLength === bLengthreturn  ... Length;bLength - aLengthvar add ... values;add = { ...      };add = { ...       }selectors: []'@suppo ... s(this)@supportsnew Supports(this)ref = selected.add;ref = selected.addprefixe ... [name];prefixes = ref[name]name == ... ewport'name == ... frames'name === '@viewport'add[nam ...  this);add[nam ... , this)add[name]new AtR ... , this)name == ... lution'new Res ... , this)this.da ... electoradd.sel ... this));add.sel ...  this))add.selectors.pushadd.selectorsSelecto ... , this)Selector.loadprops = ... .props;props = ... ].propsthis.da ... ].propsthis.da ... nsitionthis.transitionPropsvalue = ...  this);value = ... , this)Value.l ... , this)Value.loadlen = props.lengthprops.lengthprop = props[j];prop = props[j]props[j]if (!ad ...       }!add[prop]add[prop]add[pro ...      };add[pro ...       }values: []add[pro ... value);add[pro ... (value)add[pro ... es.pushadd[prop].values!this.d ... ].propsvalues  ...  || [];values  ... ) || []((ref1  ... ) || []((ref1  ... void 0)(ref1 = ...  void 0(ref1 = ... != null(ref1 = add[name])ref1 = add[name]ref1.valuesDeclara ... , this)Declaration.loadadd[nam ... values;add[nam ...  valuesadd[name].valuesremove  ...      };remove  ...       }ref2 =  ... remove;ref2 =  ... .removeprefixe ... 2[name]Selecto ... efixes)remove. ... efix));remove. ... refix))remove. ... rs.pushremove.selectorsselector.old(prefix)selector.oldlen2 =  ... .lengthprefix  ... xes[l];prefix = prefixes[l]prefixes[l]prefixe ... ice(1);prefixe ... lice(1)'@' + p ... lice(1)'@' + prefixname.slice(1)name.sliceremove[ ...      };remove[ ...       }remove[prefixed]remove: trueremove[ ...  this);remove[ ... , this)remove[name]for (m  ...       }m < len3m++m = 0,  ... .lengthm = 0len3 =  ... .lengthprefix  ... xes[m];prefix = prefixes[m]prefixes[m]old = v ... refix);old = v ... prefix)value.old(prefix)value.oldif (old ...       }for (n  ...       }n < len4n++n = 0,  ... .lengthn = 0len4 = props.lengthprop = props[n];prop = props[n]props[n]if (!re ...       }!remove[prop]remove[prop]remove[prop] = {};remove[prop] = {}!remove[prop].valuesremove[prop].valuesremove[ ... s = [];remove[ ... es = []remove[ ... h(old);remove[ ... sh(old)remove[ ... es.pushfor (o  ...       }o < len5o = 0,  ... .lengtho = 0len5 =  ... .lengthprefix  ... xes[o];prefix = prefixes[o]prefixes[o]prop =  ... (name);prop =  ... d(name)vendor. ... d(name)vendor.unprefixedolds =  ... refix);olds =  ... prefix)this.de ... prefix)this.decl(name).oldthis.decl(name)this.declfor (p  ...       }p < len6p++p = 0,  ... .lengthp = 0len6 = olds.lengtholds.lengthprefixed = olds[p];prefixed = olds[p]olds[p]!remove[prefixed]remove[ ... ] = {};remove[ ... d] = {}remove[ ... = true;remove[ ...  = trueremove[ ... .removereturn  ... emove];[add, remove]Prefixe ... pe.declvar decl;decl =  ... [prop];decl =  ... e[prop]declsCache[prop]return  ... (prop);declsCa ... d(prop)Declara ... d(prop)Prefixe ... refixedprop =  ... (prop);prop =  ... d(prop)vendor. ... d(prop)this.de ... e(prop)this.de ... rmalizethis.decl(prop)this.de ... refixedPrefixe ... .valuesvar dat ... values;data = this[type];data = this[type]this[type]global  ... void 0;global  ...  void 0(ref = data['*'])ref = data['*']data['*']ref.valuesvalues  ... void 0;values  ...  void 0(ref1 = data[prop])ref1 = data[prop]data[prop]if (glo ...       }global && valuesreturn  ... lues));utils.u ... alues))global. ... values)global.concatreturn  ...  || [];global  ... s || []global || valuesPrefixe ... e.groupvar che ... efixed;rule = decl.parent;rule = decl.parentindex = ... (decl);index = ... x(decl)rule.index(decl)rule.indexlength  ... length;length  ... .lengthrule.nodes.lengthrule.nodesunprefi ... .prop);unprefi ... l.prop)this.un ... l.prop)checker ... (this);checker ... )(this)var other;index += step;index += stepindex > ...  lengthindex >= 0index < lengthother = ... index];other = ... [index]rule.nodes[index]other.t ...  'decl'other.typeif (ste ...       }step == ... refixedstep === -1other.p ... refixedother.propif (!Br ...       }!Browse ... .value)Browser ... .value)other.valueif (_th ...       }_this.u ... refixed_this.u ... r.prop)if (cal ...       }callbac ... == truecallback(other)step === +1+1up: fun ...       }return  ... lback);checker ... llback)down: f ...       }return Prefixes;module. ... efixes;module. ... refixes{"./at- ... r":113}"./at-rule":3"./declaration":5"./hack ... tent":6"./hack ... ontent""./hack ... tems":7"./hack ... -items""./hack ... self":8"./hack ... size":9"./hack ... d-size""./hack ... cal":10"./hack ... ogical""./hack ... age":11"./hack ... -image""./hack ... ius":12"./hack ... radius""./hack ... ide":13"./hack ... inside""./hack ... ges":14"./hack ... -edges""./hack ... lex":15"./hack ... y-flex""./hack ... ble":16"./hack ... ilable""./hacks/filter":18"./hack ... lue":17"./hack ... -value""./hacks/flex":27"./hack ... sis":19"./hack ... ion":20"./hack ... ection""./hack ... low":21"./hack ... row":22"./hack ... ink":23"./hack ... shrink""./hack ... ues":25"./hack ... values""./hack ... rap":26"./hack ... een":28"./hack ... ent":29"./hack ... ing":30"./hack ... dering""./hack ... cal":31"./hack ... ent":32"./hacks/order":33"./hack ... der":34"./hack ... holder""./hack ... ecl":35"./hack ... m-decl""./hack ... lue":36"./processor":42"./resolution":43"./selector":44"./supports":45"./value":4742:[fun ... ":113}]functio ... sor;\n\n}{\n  var ... sor;\n\n}var Pro ... vendor;Process ...   })();Process ... \n  })()this.pr ... efixes;this.pr ... refixesProcess ... \n    };Process ... ;\n    }Process ... ype.addProcessor.prototypevar key ... ewport;resolut ... tion'];resolut ... ution']this.pr ... ution']this.prefixes.addkeyfram ... ames'];keyfram ... rames']this.pr ... rames']viewpor ... port'];viewpor ... wport']this.pr ... wport']support ... orts'];support ... ports']this.pr ... ports']css.eac ... this));css.eac ... (this))css.eachAtRulerule.na ... frames'if (!_t ...       }!_this. ... d(rule)_this.disabled(rule)_this.disabledreturn  ... void 0;keyfram ...  void 0keyframes != nullkeyfram ... s(rule)keyframes.processrule.na ... ewport'viewpor ...  void 0viewport != nullviewpor ... s(rule)viewport.processrule.na ... pports'return  ... (rule);support ... s(rule)supports.processrule.na ...  !== -1rule.na ... 'media'rule.pa ...  !== -1rule.pa ... ution')rule.params.indexOf-resolutionresolut ...  void 0resolution != nullresolut ... s(rule)resolution.processcss.eachRulevar j,  ... lector;ref = _ ... ectors;ref = _ ... lectors_this.p ... lectors_this.prefixes.add_this.prefixesselector = ref[j];selector = ref[j]results ... rule));results ... (rule))selecto ... s(rule)selector.processcss.eachDeclprefix  ... .prop];prefix  ... l.prop]_this.p ... l.prop]prefix  ... refixesprefix.prefixes!_this. ... d(decl)_this.disabled(decl)return  ... (decl);prefix.process(decl)prefix.processvar j,  ...  value;_this.p ... l.prop)_this.p ... refixedref = _ ... fixed);ref = _ ... efixed)_this.p ... efixed)_this.p ... .valuesvalue = ref[j];value = ref[j]value.process(decl);value.process(decl)value.processValue.s ... , decl)Value.saveProcess ... .removevar che ... lution;this.prefixes.remove_this.p ... e.name]_this.p ... .remove'@' + rule.namereturn  ... ove(i);rule.pa ... move(i)rule.parent.removeresolut ... n(rule)resolution.cleanref = t ... ectors;ref = t ... lectorsthis.pr ... lectorschecker = ref[j];checker = ref[j]if (che ...       }checker.check(rule)checker.checkvar k,  ... efixed;if ((re ...       }(ref1 = ... .prop])ref1 =  ... l.prop]ref1.removenotHack ...     });notHack ...      })_this.p ...      })_this.p ... l).down_this.p ... p(decl)_this.prefixes.groupif (not ...       }notHack ... e(decl)!_this. ... e(decl)_this.w ... e(decl)_this.withHackValuedecl.st ... ") > -1decl.st ... f("\n")_this.r ... (decl);_this.r ... s(decl)_this.reduceSpacesrule.remove(i);rule.remove(i)rule.removeref2 =  ... fixed);ref2 =  ... efixed)len1 = ref2.lengthref2.lengthchecker = ref2[k];checker = ref2[k]ref2[k]checker ... .value)unprefi ... efixed;unprefi ... refixedchecker.unprefixedother.v ...  !== -1other.v ... efixed)other.value.indexOfchecker.cleanchecker.clean(decl);checker.clean(decl)Process ... ckValuereturn  ... 'text';decl.pr ...  'text'decl.pr ... d-clip''-webki ... d-clip'-webkit-background-clipdecl.va ...  'text'Process ... }\n    }Process ... isabledvar status;if (nod ...       }node._a ... isabled_autopr ... isabledreturn  ... sabled;node.nodesstatus = void 0;status = void 0node.ea ...     });node.ea ...      })node.eachif (i.t ...       }i.type !== 'comment'i.typei.text  ... r: off'i.textautoprefixer: offstatus = false;status = falsei.text  ... er: on'autoprefixer: onstatus = true;status = truereturn  ...  false;node._a ... : falsestatus  ... : falsestatus != null!statusnode.pa ... : falsethis.di ... parent)this.disabledreturn  ... arent);Process ... eSpacesvar dif ... , stop;stop = false;stop = falsethis.pr ...     });this.pr ... ecl).upthis.pr ... p(decl)this.prefixes.groupreturn stop = true;stop = trueif (sto ...       }parts = ... ("\n");parts = ... t("\n")prevMin ... length;prevMin ... .lengthparts[p ... .lengthparts[p ... th - 1]parts.length - 1parts.lengthdiff = false;diff = falsethis.pr ... l).downvar last;other.s ... t("\n")other.s ... ).splitother.s ... efore')other.stylelast =  ... th - 1;last =  ... gth - 1parts[l ... prevMinparts[last].lengthparts[last]if (dif ...       }diff === falsediff =  ... revMin;diff =  ... prevMinparts[l ... -diff);parts[l ...  -diff)parts[last].slice-diffother.b ... n("\n")other.beforeparts.join("\n")parts.joinreturn Processor;module. ... cessor;module. ... ocessor{"./uti ... r":113}43:[fun ... n":95}][functi ... n":95}]var Pre ... operty;n2f = r ... tion');n2f = r ... ction')regexp  ... pi)/gi;regexp  ... dpi)/gi/(min|m ... dpi)/gi(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi)(min|max)min|max\d*\.?\d+(dppx|dpi)dppx|dpidppxdpisplit = ... dpi)/i;split = ... |dpi)/i/(min|m ... |dpi)/i(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi)(\s*:\s*)\s*:\s*(\d*\.?\d+)\d*\.?\d+Resolut ... fixer);Resolut ... efixer)Resolut ... uments)Resolut ... r.applyResolut ... tructorResolution.__super__Resolut ... \n    };Resolut ... ;\n    }Resolut ... fixNameResolution.prototypereturn  ... ratio';name =  ... -ratio'prefix  ... -ratio'name +  ... -ratio''--moz- ... -ratio'--moz-device-pixel-ratioprefix + name'-devic ... -ratio'-device-pixel-ratioResolut ... ixQueryif (uni ...       }units === 'dpi'value = ...  / 96);value = ... e / 96)Number(value / 96)value / 96value = n2f(value);value = n2f(value)n2f(value)this.pr ... + valuethis.pr ... + colonthis.pr ... , name)this.prefixNameResolut ... e.cleanvar j,  ... x, ref;!this.badthis.badthis.bad = [];this.bad = []this.ba ... min'));this.ba ... 'min'))this.bad.pushthis.pr ...  'min')this.ba ... max'));this.ba ... 'max'))this.pr ...  'max')rule.pa ... (this))queries ...      })queries.filter_this.b ...      })_this.bad.every_this.badquery.i ...  === -1query.indexOf(i)query.indexOfResolut ... processvar par ... efixes;parent  ... (rule);parent  ... x(rule)this.pa ... x(rule)prefixe ... efixes;prefixe ... refixesparent  ... refixes[parent]var j,  ...  query;len = origin.lengthorigin.lengthquery = origin[j];query = origin[j]origin[j]if (que ...       }query.i ... ution')min-resolutionmax-resolutionprefixe ... query);prefixed.push(query)prefixed.pushprefix  ...  !== -1rule.pa ... ('dpi')process ...     });process ...      })query.r ...      })query.replacevar parts;parts = ... split);parts = ... (split)str.match(split)str.matchreturn  ... ts[4]);_this.p ... rts[4])_this.prefixQueryparts[1]parts[2]parts[3]parts[4]prefixe ... essed);prefixe ... cessed)utils.uniq(prefixed)return Resolution;module. ... lution;module. ... olution{"./pre ... on":95}"num2fraction":9544:[fun ... s":46}]OldSele ... ctor');OldSele ... ector')./old-selector/old-selectorSelecto ... fixer);Selecto ... efixer)this.all = all;this.all = allthis.re ... e = {};this.re ... he = {}this.regexpCacheSelecto ... \n    };Selecto ... }\n    }Selecto ... e.checkSelector.prototyperule.se ...  !== -1rule.se ... s.name)return  ... exp());!!rule. ... gexp())!rule.s ... gexp())rule.se ... gexp())Selecto ... ;\n    }Selecto ... refixedthis.na ... prefix)this.name.replace^([^\w]*)([^\w]*)[^\w]*[^\w]'$1' + prefixSelecto ... .regexpvar name;this.re ... prefix]name =  ... s.name;name =  ... is.nameprefix  ... is.namereturn  ...  "gi");this.re ... , "gi")RegExp( ... , "gi")"(^|[^: ... (name))(^|[^:"'=])^|[^:"'=][^:"'=](utils. ... (name))utils.e ... p(name)utils.escapeRegexpgiSelecto ... ossiblereturn  ... ixes();Selecto ... efixedsvar i,  ... s, ref;rule._a ... efixeds_autopr ... efixedsreturn  ... fixeds;prefixeds = {};prefixeds = {}ref = t ... ible();ref = t ... sible()this.possible()this.possibleprefixeds[prefix]this.replaceSelecto ... alreadyvar bef ... , some;index = ... e) - 1;index = ... le) - 1rule.pa ... le) - 1before  ... index];before  ... [index]rule.pa ... [index]before. ...  'rule'before.typefor (ke ...       }prefixe ... s[key];prefixe ... ds[key]prefixeds[key]before. ... refixedbefore.selectorprefix === keyindex -= 1;index -= 1Selecto ... replaceselecto ... refix))selector.replaceSelecto ... ype.addvar clo ... fixeds;prefixe ... (rule);prefixe ... s(rule)this.prefixeds(rule)this.alreadyselecto ... prefix]Selecto ... ype.oldnew Old ... prefix)return Selector;{"./bro ... ls":46}"./old-selector":3845:[fun ... ":102}](functi ... ts;\n\n})functio ... rts;\n\n}{\n  var ... rts;\n\n}var Pre ...  utils;split = ... \)]+)/;split = ... ^\)]+)//\(\s*( ... ^\)]+)/\(\s*([^\(\):]+)\s*:([^\)]+)([^\(\):]+)[^\(\):]+[^\(\):]([^\)]+)[^\)]+[^\)]findDec ... s*\)/g;findDec ... \s*\)/g/\(\s*( ... \s*\)/g\(\s*([^\(\):]+)\s*:\s*(.+)\s*\)(.+).+findCon ... \s*/gi;findCon ... r\s*/gi/(not\s ... r\s*/gi(not\s*)?\(\s*([^\(\):]+)\s*:\s*(.+?(?!\s*or\s*).+?)\s*\)*\s*\)\s*or\s*(not\s*)?(not\s*)not\s*(.+?(?!\s*or\s*).+?).+?(?!\s*or\s*).+?.+?(?!\s*or\s*)\s*or\s*or\)*Support ...   })();Support ... \n  })()Support ... \n    };Support ... ;\n    }Support ... virtualSupports.prototypevar rule;rule =  ... .first;rule =  ... ).firstpostcss ... ).firstpostcss.parse('a{}')postcss.parsea{}rule.ap ...     });rule.ap ...      })rule.appendprop: propvalue: valuebefore: ''return rule;Support ... refixedvar dec ... , rule;rule =  ... value);rule =  ...  value)this.vi ...  value)this.virtualprefixe ... [prop];prefixe ... d[prop]this.all.add[prop]this.all.addprefixer != nullif (typ ...       }typeof  ... processprefixe ... first);prefixe ... .first)rule.firstref = rule.nodes;ref = rule.nodesdecl = ref[j];decl = ref[j]ref1 =  ...  prop);ref1 =  ... , prop)this.al ... , prop)this.all.valuesvalue = ref1[k];value = ref1[k]ref1[k]Value.s ...  decl);return rule.nodes;Support ... e.cleanreturn  ... ($1)');params. ... '($1)')params. ... replaceparams. ... (this))params.replacevar _,  ...  value;if (all ...       }all.sli ... = 'not'all.sli ... rCase()all.sli ... werCaseall.slice(0, 3)all.slicereturn all;ref = a ... ref[2];ref = a ...  ref[2]ref = a ... (split)all.match(split)all.match_ = ref[0]prop = ref[1]value = ref[2]ref[2]unprefi ... (prop);unprefi ... d(prop)_this.a ... d(prop)_this.all.unprefixed_this.all(ref1 = ... [prop])ref1 =  ... e[prop]_this.a ... e[prop]_this.a ... .remove_this.all.cleaner()_this.all.cleanercheck = ... + ':');check = ...  + ':')new Reg ...  + ':')'(\\(|\ ... ) + ':''(\\(|\ ... efixed)(\(|\s)\(|\sutils.e ... efixed)check.test(params)check.test_this.a ... efixed)_this.a ... .valueslen = ref2.lengthchecker = ref2[j];checker = ref2[j]ref2[j]checker.check(value)/\(\s*\ ... \s*\)/g\(\s*\((.*)\)\s*\)($1)Support ... processrule.pa ... arams);rule.pa ... params)this.cl ... params)this.cleanrule.params.replacevar i, stringed;stringe ... _this);stringe ... (_this)(functi ... (_this)ref = t ... value);ref = t ...  value)this.pr ...  value)i = ref[j];i = ref[j]results ... + ")");results ...  + ")")"(" + i ... e + ")""(" + i ... i.value"(" + i.prop + ": ""(" + i.propi.valueif (str ...       }stringe ... h === 1stringed.lengthreturn stringed[0];stringed[0]return  ...  + ')';'(' + s ... ) + ')''(' + s ... ' or ')stringe ... ' or ')stringed.join or return Supports;module. ... pports;module. ... upports{"./pre ... t":102}46:[fun ... ":102}]var list;module. ...  }\n  };module. ...   }\n  }{\n    e ...   }\n  }error:  ... ;\n    }var err;err = n ... (text);err = n ... r(text)new Error(text)err.aut ... = true;err.aut ...  = trueerr.autoprefixerthrow err;uniq: f ... ;\n    }var fil ... j, len;filtered = [];filtered = []len = array.lengthi = array[j];i = array[j]array[j]if (fil ...       }filtere ...  === -1filtered.indexOf(i)filtered.indexOffiltered.push(i);filtered.push(i)filtered.pushreturn filtered;removeN ... }\n    }string. ...  === -1string.indexOf(' ')string.indexOfreturn string;return  ...  ')[0];string.split(' ')[0]string.split(' ')string.splitescapeR ... ;\n    }/[.?*+\ ... }|\-]/g[.?*+\^\$\[\]\\(){}|\-]\^\-regexp: ... ;\n    }if (esc ...       }escape == nullescape = true;escape = trueword =  ... (word);word =  ... p(word)this.es ... p(word)this.escapeRegexp"(^|[\\ ... s(,]))""(^|[\\ ...  + word(^|[\s,(])(($|[\s(,]))editLis ... }\n    }var cha ... origin;origin  ... value);origin  ... (value)list.comma(value)changed ... n, []);changed ... in, [])callback(origin, [])if (ori ...       }origin === changedjoin =  ... ,\s*/);join =  ... /,\s*/)value.match(/,\s*/),\s*join =  ... : ', ';join =  ...  : ', 'join ?  ...  : ', 'join[0]return  ... (join);changed.join(join)changed.join{"postc ... t":102}47:[fun ... ":113}]var Old ... operty;./old-valueValue = ... fixer);Value = ... efixer)Value._ ... uments)Value._ ... r.applyValue._ ... tructorValue.__super__Value.s ... \n    };Value.s ... ;\n    }ref = d ... Values;ref = d ... rValuesdecl._a ... rValuesfor (pr ...       }value = ref[prefix];value = ref[prefix]ref[prefix]value === decl.valuepropPre ... .prop);propPre ... l.prop)vendor. ... l.prop)propPre ...  prefixpropPre ... '-pie-'-pie-prefixes.prefixedrule.ev ...      })rule.everyi.prop !== prefixedtrimmed ... , ' ');trimmed ... /, ' ')value.r ... /, ' ')value.replacerule.so ...      })rule.somereturn  ... rimmed;i.prop  ... trimmedi.prop === decl.propi.value ... trimmedi.value ... /, ' ')i.value.replaceif (!al ...       }!alreadyvalue.i ... perty')(decl.p ... perty')decl.pr ... operty'decl.pr ... sition'trasition-propertyresults ... oned));results ... loned))results ... oid 0);results.push(void 0)Value.p ... \n    };Value.p ... }\n    }Value.p ... e.checkValue.prototypevalue.i ... s.name)!!value ... gexp())!value. ... gexp())value.m ... gexp())Value.p ... ;\n    }Value.p ... .regexpreturn  ... name));this.re ... .name))(this.r ... .name))this.re ... s.name)utils.r ... s.name)Value.p ... replacereturn  ...  '$2');string. ... + '$2')'$1' + prefix + '$2'Value.prototype.addvar ref, value;decl._a ...  = {});decl._a ... s = {})(decl._ ... s = {})decl._a ... es = {}decl._a ... l.valuedecl._a ... void 0)decl._a ... prefix]((ref = ... void 0)(ref = decl._value)ref = decl._valuedecl._valueref.rawvalue = ... refix);value = ... prefix)decl._a ... = valueValue.prototype.oldreturn Value;module. ...  Value;module. ... = Value{"./old ... r":113}"./old-value":3948:[fun ... \n\n},{}]functio ... ts){\n\n}{\n\n}49:[fun ... y":52}][functi ... y":52}]functio ...  }\n}\n\n}{\n/*!\n  ...  }\n}\n\n}var bas ... 64-js')base64  ... 64-js')require('base64-js')base64-jsvar iee ... ee754')ieee754 ... ee754')require('ieee754')var isA ... array')isArray ... array')require('is-array')is-arrayexports ...  Bufferexports.Bufferexports ... wBufferexports.SlowBufferexports ... ES = 50exports ... X_BYTESBuffer. ...  = 8192Buffer.poolSizevar kMa ... fffffffkMaxLen ... fffffff1073741823var rootParent = {}rootParent = {}Buffer. ...  }\n})()Buffer. ... SUPPORTfunctio ... e\n  }\n}{\n  try ... e\n  }\n}try {\n  ... lse\n  }{\n    v ... ay`\n  }var buf ... ffer(0)buf = n ... ffer(0)new ArrayBuffer(0)var arr ... ay(buf)arr = n ... ay(buf)new Uint8Array(buf)arr.foo ... rn 42 }arr.foofunctio ... rn 42 }{ return 42 }return 42return  ... h === 0arr.foo ... h === 0arr.foo ... nction'arr.foo() === 42arr.foo()typeof  ... nction'typeof arr.subarrayarr.subarraynew Uin ... h === 0new Uin ... eLengthnew Uin ... y(1, 1)new Uin ... ubarraynew Uint8Array(1)catch ( ... lse\n  }{\n    r ... lse\n  }functio ...  self\n}{\n  var ...  self\n}var self = thisself = thisif (!(s ... coding)!(self  ... Buffer)(self i ... Buffer)self in ...  Bufferreturn  ... coding)new Buf ... coding)var typ ... subjecttype =  ... subjecttypeof subjectvar lengthif (typ ... g')\n  }type === 'number'{\n    l ... ect\n  }length = +subject+subjecttype === 'string'{\n    l ... ng)\n  }length  ... coding)Buffer. ... coding)type == ... == nulltype === 'object'subject !== null{\n    / ... gth\n  }if (sub ... ct.datasubject ... t.data)subject ... Buffer'subject.typeisArray ... t.data)subject.datasubject ... ct.data+subject.lengthsubject.length{\n    t ... g')\n  }throw n ... tring')new Typ ... tring')'must s ... string'must start with number, buffer, array or stringif (len ... s')\n  }length > kMaxLength{\n    t ... s')\n  }throw n ... bytes')new Ran ... bytes')'Attemp ...  bytes''Attemp ... ing(16)'Attemp ... ze: 0x'Attempt to allocate Buffer larger than maximum size: 0xkMaxLen ... ing(16)kMaxLength.toString bytesif (len ...  >>>= 0length < 0length = 0length >>>= 0if (Buf ... rue\n  }{\n    / ... his\n  }self =  ... ength))Buffer. ... ength))Buffer._augmentnew Uin ... length){\n    / ... rue\n  }self.length = lengthself.lengthself._i ...  = trueself._isBufferif (Buf ...   }\n  }Buffer. ... number'typeof  ... number'typeof  ... eLengthsubject.byteLength{\n    / ... ct)\n  }self._set(subject)self._setif (isA ...   }\n  }isArrayish(subject){\n    / ...   }\n  }if (Buf ... }\n    }Buffer. ... ubject)i < lengthself[i] ... Int8(i)self[i]subject.readUInt8(i)subject.readUInt8self[i] ... ) % 256((subje ... ) % 256((subje ...  + 256)(subjec ... ) + 256(subject[i] % 256)subject[i] % 256subject[i]if (typ ...   }\n  }{\n    s ... ng)\n  }self.wr ... coding)self.writetype == ... SUPPORT!Buffer ... SUPPORT{\n    f ...   }\n  }for (i  ... 0\n    }{\n      ... 0\n    }self[i] = 0if (len ... tParentlength  ... oolSizelength > 0self.pa ... tParentself.parentreturn selffunctio ... n buf\n}{\n  if  ... n buf\n}if (!(t ... coding)!(this  ... Buffer)(this i ... Buffer)this in ... wBuffernew Slo ... coding)var buf ... coding)buf = n ... coding)delete buf.parentbuf.parentreturn bufBuffer. ... ffer)\n}functio ... ffer)\n}{\n  ret ... ffer)\n}return  ... Buffer)!!(b != ... Buffer)!(b !=  ... Buffer)(b != n ... Buffer)b != nu ... sBufferb != nullb._isBufferBuffer. ... urn 0\n}functio ... urn 0\n}{\n  if  ... urn 0\n}if (!Bu ... s')\n  }!Buffer ... ffer(b)!Buffer.isBuffer(a)Buffer.isBuffer(a)!Buffer.isBuffer(b)Buffer.isBuffer(b)throw n ... ffers')new Typ ... ffers')'Argume ... uffers'Arguments must be Buffersif (a = ... eturn 0a === breturn 0var x = a.lengthx = a.lengthvar y = b.lengthy = b.lengthfor (va ... i++) {}i < len ... == b[i]a[i] === b[i]a[i]b[i]var i = ... n(x, y)len = Math.min(x, y)Math.min(x, y)if (i ! ... [i]\n  }i !== len{\n    x ... [i]\n  }x = a[i]y = b[i]if (x < y) return -1x < yreturn -1if (y < x) return 1y < xreturn 1Buffer. ... e\n  }\n}{\n  swi ... e\n  }\n}switch  ... lse\n  }String( ... rCase()String( ... werCaseString(encoding)case 'hex':hexcase 'utf8':case 'utf-8':case 'ascii':asciicase 'binary':binarycase 'base64':case 'raw':case 'ucs2':case 'ucs-2':ucs-2case 'utf16le':utf16lecase 'u ... rn trueutf-16lereturn truedefault ... n falseBuffer. ... n buf\n}if (!is ... fers.')!isArray(list)isArray(list)throw n ... fers.')new Typ ... fers.')'list a ... ffers.'list argument must be an Array of Buffers.list argument must be an Array of Buffersif (lis ... [0]\n  }list.length === 0list.length{\n    r ... (0)\n  }return new Buffer(0)new Buffer(0)list.length === 1{\n    r ... [0]\n  }return list[0]list[0]if (tot ...   }\n  }totalLe ... defined{\n    t ...   }\n  }totalLength = 0for (i  ... h\n    }i < list.length{\n      ... h\n    }totalLe ... .lengthlist[i].lengthlist[i]var buf ... Length)buf = n ... Length)new Buf ... Length)var pos = 0pos = 0for (i  ... gth\n  }{\n    v ... gth\n  }var item = list[i]item = list[i]item.copy(buf, pos)item.copypos += item.lengthitem.lengthBuffer. ... n ret\n}functio ... n ret\n}{\n  var ... n ret\n}var retstr = str + ''str + ''switch  ... gth\n  }encoding || 'utf8'case 'r ...   breakret = str.lengthstr.lengthcase 'u ...   breakret = str.length * 2str.length * 2case 'h ...   breakret = s ... h >>> 1str.length >>> 1ret = u ... .lengthutf8ToB ... .lengthutf8ToBytes(str)case 'b ...   breakret = b ... .lengthbase64T ... .lengthbase64ToBytes(str)default ... .lengthreturn retBuffer. ... definedBuffer. ... .lengthBuffer.prototypeBuffer. ... .parentBuffer. ... }\n  }\n}Buffer. ... oStringfunctio ... }\n  }\n}{\n  var ... }\n  }\n}var low ... = falseloweredCase = falsestart = start >>> 0start >>> 0end = e ... d >>> 0end === ... d >>> 0end === ... nfinityend === undefinedend === Infinitythis.lengthend >>> 0if (!en ...  'utf8'!encodingencoding = 'utf8'if (sta ... art = 0start < 0start = 0if (end ... .lengthend > this.lengthend = this.lengthif (end ... turn ''end <= startreturn ''while ( ...   }\n  }{\n    s ...   }\n  }switch  ... e\n    }case 'h ... t, end)return  ... t, end)hexSlic ... t, end)case 'u ... t, end)utf8Sli ... t, end)case 'a ... t, end)asciiSl ... t, end)case 'b ... t, end)binaryS ... t, end)base64S ... t, end)utf16le ... t, end)default ...  = trueif (low ... coding)throw n ... coding)new Typ ... coding)'Unknow ... ncodingUnknown encoding: encodin ... rCase()(encodi ... rCase()(encodi ... werCase(encoding + '')encoding + ''loweredCase = trueBuffer. ... === 0\n}Buffer. ... .equalsfunctio ... === 0\n}{\n  if  ... === 0\n}if (!Bu ... uffer')throw n ... uffer')new Typ ... uffer')'Argume ... Buffer'Argument must be a Bufferif (thi ... rn truethis === breturn  ... ) === 0Buffer. ... ) === 0Buffer. ... his, b)Buffer. ... + '>'\n}Buffer. ... inspectfunctio ... + '>'\n}{\n  var ... + '>'\n}var str = ''str = ''var max ... X_BYTESmax = e ... X_BYTESif (thi ... . '\n  }this.length > 0{\n    s ... . '\n  }str = t ... in(' ')this.to ... in(' ')this.to ... g).jointhis.to ... .{2}/g)this.to ... ).matchthis.to ... 0, max)this.toString.{2}if (thi ... ' ... 'this.length > maxstr += ' ... ' ... return  ... r + '>''<Buffe ... r + '>''<Buffer ' + str<Buffer Buffer. ... s, b)\n}Buffer. ... comparefunctio ... s, b)\n}{\n  if  ... s, b)\n}if (thi ... eturn 0return  ... his, b)Buffer. ... fer')\n}Buffer. ... indexOffunctio ... fer')\n}{\n  if  ... fer')\n}if (byt ... 0000000byteOff ... fffffff2147483647byteOff ... 0000000-0x800000002147483648byteOffset >>= 0if (thi ... turn -1this.length === 0if (byt ... turn -1byteOff ... .lengthif (byt ... set, 0)byteOffset < 0byteOff ... set, 0)Math.ma ... set, 0)this.le ... eOffsetif (typ ... et)\n  }typeof  ... string'typeof val{\n    i ... et)\n  }if (val ... turn -1val.length === 0val.lengthreturn  ... Offset)String. ... Offset)String. ... Of.callif (Buf ... et)\n  }Buffer.isBuffer(val){\n    r ... et)\n  }arrayIn ... Offset)if (Buf ... )\n    }Buffer. ... nction'Uint8Ar ... nction'Uint8Ar ... indexOfUint8Array.prototypeUint8Ar ... Offset)Uint8Ar ... Of.call[ val ]functio ...  -1\n  }{\n    v ...  -1\n  }var foundIndex = -1foundIndex = -1for (va ... }\n    }byteOffset + iarr.lengthif (arr ...       }arr[byt ... dIndex]arr[byteOffset + i]val[fou ... dIndex]foundIn ... ndIndexfoundIndex === -1i - foundIndexif (fou ... dex = ifoundIndex = iif (i - ... ndIndexi - fou ... .lengthi - foundIndex + 1return  ... ndIndexbyteOff ... ndIndex'val mu ... Buffer'val must be string, number or BufferBuffer. ... fset)\n}Buffer.prototype.getfunctio ... fset)\n}{\n  con ... fset)\n}console ... tead.')console.log'.get() ... stead.'.get() is deprecated. Access using array indexes instead.() is deprecated Access using array indexes insteadreturn  ... offset)this.re ... offset)this.readUInt8Buffer.prototype.set'.set() ... stead.'.set() is deprecated. Access using array indexes instead.this.wr ... offset)this.writeUInt8functio ... urn i\n}{\n  off ... urn i\n}offset  ... t) || 0Number(offset) || 0Number(offset)var rem ...  offsetremaini ...  offsetbuf.length - offsetif (!le ...   }\n  }!length{\n    l ... ing\n  }length = remaining{\n    l ...   }\n  }length  ... length)Number(length)if (len ... g\n    }length > remaining{\n      ... g\n    }var str ... .lengthstrLen  ... .lengthstring.lengthif (str ... tring')strLen % 2 !== 0strLen % 2new Err ... tring')Invalid hex stringif (len ... / 2\n  }length > strLen / 2strLen / 2{\n    l ... / 2\n  }length = strLen / 2for (va ... sed\n  }{\n    v ... sed\n  }var par ... 2), 16)parsed  ... 2), 16)parseIn ... 2), 16)string. ... * 2, 2)string.substri * 2if (isN ... tring')isNaN(parsed)buf[off ...  parsedbuf[offset + i]offset + ireturn ifunctio ... itten\n}{\n  var ... itten\n}var cha ... length)charsWr ... length)blitBuf ... length)utf8ToB ... offset)return charsWrittenasciiToBytes(string)functio ... ngth)\n}{\n  ret ... ngth)\n}return  ... length)asciiWr ... length)base64T ... string)utf16le ... offset)Buffer. ... e.write{\n  //  ... n ret\n}if (isF ... wap\n  }isFinite(offset)if (!is ... d\n    }!isFinite(length)isFinite(length)encoding = lengthlength = undefined{  // l ... wap\n  }var swap = encodingswap = encodingencoding = offsetoffset = lengthlength = swaplength  ... set < 0offset < 0offset > this.lengththrow n ... ounds')new Ran ... ounds')'attemp ... bounds'attempt to write outside buffer boundsthis.length - offsetString( ... 'utf8')switch  ... ng)\n  }ret = h ... length)hexWrit ... length)ret = u ... length)utf8Wri ... length)case 'a ...   breakret = a ... length)ret = b ... length)binaryW ... length)base64W ... length)utf16le ... length)default ... coding)Buffer. ... )\n  }\n}Buffer. ... .toJSON{\n  ret ... )\n  }\n}return  ...  0)\n  }{\n    t ...  0)\n  }type: 'Buffer'data: A ... his, 0)Array.p ... his, 0)Array.p ... ce.callthis._arr || thisthis._arr{\n  if  ... )\n  }\n}if (sta ... d))\n  }start = ... .lengthstart === 0end === buf.length{\n    r ... uf)\n  }return  ... ay(buf)base64. ... ay(buf)base64.fromByteArray{\n    r ... d))\n  }return  ... , end))base64. ... , end))buf.sli ... t, end)buf.slicefunctio ... (tmp)\n}{\n  var ... (tmp)\n}var res = ''res = ''var tmp = ''tmp = ''end = M ... h, end)Math.mi ... h, end)for (va ...   }\n  }i < endvar i = starti = startif (buf ... )\n    }buf[i] <= 0x7Fres +=  ... buf[i])decodeU ... buf[i])decodeUtf8Char(tmp)tmp +=  ... ing(16)'%' + b ... ing(16)buf[i].toString(16)buf[i].toStringreturn  ... ar(tmp)res + d ... ar(tmp)var ret = ''ret = ''for (va ... 7F)\n  }{\n    r ... 7F)\n  }ret +=  ... & 0x7F)String. ... & 0x7F)buf[i] & 0x7Ffor (va ... i])\n  }{\n    r ... i])\n  }ret +=  ... buf[i])functio ... n out\n}{\n  var ... n out\n}var len = buf.lengthlen = buf.lengthif (!st ... art = 0!start || start < 0!startif (!en ... d = len!end || ... d > len!end || end < 0!endend < 0end > lenend = lenvar out = ''out = ''{\n    o ... i])\n  }out += toHex(buf[i])toHex(buf[i])return outfunctio ... n res\n}{\n  var ... n res\n}var byt ... t, end)bytes = ... t, end)for (va ... 56)\n  }i < bytes.lengthbytes.lengthi += 2{\n    r ... 56)\n  }res +=  ...  * 256)String. ...  * 256)bytes[i ... ] * 256bytes[i]bytes[i + 1] * 256bytes[i + 1]i + 1return resBuffer. ... ewBuf\n}Buffer. ... e.slicefunctio ... ewBuf\n}{\n  var ... ewBuf\n}var len ... .lengthlen = this.lengthstart = ~~start~~start~startend = e ... : ~~endend === ... : ~~end~~end~endif (sta ... len\n  }{\n    s ... = 0\n  }start += lenstart > len{\n    s ... len\n  }start = lenif (end ... len\n  }{\n    e ... = 0\n  }end += lenif (end < 0) end = 0end = 0{\n    end = len\n  }if (end ... = startend < startend = startvar newBuf{\n    n ... d))\n  }newBuf  ... , end))Buffer. ... , end))this.su ... t, end)this.subarrayvar sli ... - startsliceLe ... - startend - startnewBuf  ... efined)new Buf ... efined)for (va ... ]\n    }i < sliceLen{\n      ... ]\n    }newBuf[ ...  start]newBuf[i]this[i + start]i + startif (new ... || thisnewBuf.lengthnewBuf. ... || thisnewBuf.parentthis.parent || thisthis.parentreturn newBuffunctio ... gth')\n}{\n  if  ... gth')\n}if ((of ...  uint')(offset ... set < 0(offset % 1) !== 0(offset % 1)offset % 1throw n ...  uint')new Ran ...  uint')offset is not uintif (off ... ength')offset  ...  lengthoffset + extthrow n ... ength')new Ran ... ength')'Trying ... length'Trying to access beyond buffer lengthBuffer. ... n val\n}Buffer. ... dUIntLEfunctio ... n val\n}{\n  off ... n val\n}offset  ... t >>> 0offset >>> 0byteLen ... h >>> 0byteLength >>> 0if (!no ... length)!noAssertcheckOf ... length)var val ... offset]val = this[offset]this[offset]var mul = 1mul = 1while ( ... mul\n  }++i < b ...  0x100)++i < byteLength++i(mul *= 0x100)mul *= 0x100{\n    v ... mul\n  }val +=  ... ] * multhis[of ... ] * multhis[offset + i]return valBuffer. ... dUIntBEif (!no ... th)\n  }{\n    c ... th)\n  }var val ... Length]val = t ... Length]this[of ... Length]offset  ... eLength--byteLengthbyteLen ...  0x100)byteLength > 0Buffer. ... fset]\n}Buffer. ... adUInt8functio ... fset]\n}{\n  if  ... fset]\n}return this[offset]Buffer. ... << 8)\n}Buffer. ... Int16LEfunctio ... << 8)\n}{\n  if  ... << 8)\n}return  ... ] << 8)this[of ... ] << 8)(this[o ... ] << 8)this[of ... 1] << 8this[offset + 1]offset + 1Buffer. ...  + 1]\n}Buffer. ... Int16BEfunctio ...  + 1]\n}{\n  if  ...  + 1]\n}return  ... et + 1](this[o ... et + 1](this[offset] << 8)this[offset] << 8Buffer. ... 0000)\n}Buffer. ... Int32LEfunctio ... 0000)\n}{\n  if  ... 0000)\n}return  ... 000000)((this[ ... 000000)((this[ ... << 16))(this[o ...  << 16)(this[offset])this[of ... ] << 16this[offset + 2]offset + 2(this[o ... 000000)this[of ... 1000000this[offset + 3]offset + 316777216Buffer. ... + 3])\n}Buffer. ... Int32BEfunctio ... + 3])\n}{\n  if  ... + 3])\n}return  ... t + 3])(this[o ... t + 3])((this[ ... t + 3])(this[o ... et + 3]this[of ... 2] << 8Buffer. ... adIntLEmul *= 0x80if (val ... Length)val >= mulval -=  ... Length)Math.po ... Length)8 * byteLengthBuffer. ... adIntBEvar i = byteLengthi = byteLengthvar val ...  + --i]val = t ...  + --i]this[offset + --i]offset + --i--ii > 0 & ...  0x100)i > 0Buffer. ... * -1)\n}Buffer. ... eadInt8functio ... * -1)\n}{\n  if  ... * -1)\n}if (!(t ... ffset])!(this[ ... & 0x80)(this[o ... & 0x80)this[offset] & 0x80return  ... ffset])return  ... ) * -1)((0xff  ... ) * -1)(0xff - ... 1) * -1(0xff - ... t] + 1)0xff -  ... et] + 10xff - this[offset]Buffer. ... : val\n}functio ... : val\n}{\n  if  ... : val\n}var val ... ] << 8)val = t ... ] << 8)return  ... 0 : val(val &  ... 0 : val(val & 0x8000)val & 0x800032768val | 0xFFFF00004294901760Buffer. ... < 24)\n}functio ... < 24)\n}{\n  if  ... < 24)\n}return  ...  << 24)(this[o ...  << 24)this[of ... ] << 24(this[offset] << 24)this[offset] << 24(this[offset + 3])Buffer. ... 3, 4)\n}Buffer. ... FloatLEfunctio ... 3, 4)\n}{\n  if  ... 3, 4)\n}return  ...  23, 4)ieee754 ...  23, 4)ieee754.readBuffer. ... FloatBEBuffer. ... 2, 8)\n}Buffer. ... oubleLEfunctio ... 2, 8)\n}{\n  if  ... 2, 8)\n}return  ...  52, 8)ieee754 ...  52, 8)Buffer. ... oubleBEfunctio ... nge')\n}{\n  if  ... nge')\n}if (!Bu ... tance')!Buffer ... er(buf)Buffer.isBuffer(buf)throw n ... tance')new Typ ... tance')'buffer ... stance'buffer must be a Buffer instanceif (val ... ounds')value > ... e < minvalue > maxvalue < min'value  ... bounds'value is out of boundsif (off ... range')offset  ... .lengththrow n ... range')new Ran ... range')index out of rangeBuffer. ... ength\n}Buffer. ... eUIntLEfunctio ... ength\n}{\n  val ... ength\n}value = +value+valueif (!no ... th), 0)checkIn ... th), 0)this[of ...  & 0xFFvalue & 0xFFwhile ( ... xFF\n  }{\n    t ... xFF\n  }(value  ...  & 0xFF(value / mul) >>> 0(value / mul)value / mulreturn  ... eLengthoffset + byteLengthBuffer. ... eUIntBEvar i = ... gth - 1i = byteLength - 1byteLength - 1--i >=  ...  0x100)--i >= 0Buffer. ... t + 1\n}Buffer. ... teUInt8functio ... t + 1\n}{\n  val ... t + 1\n}if (!no ... xff, 0)checkIn ... xff, 0)if (!Bu ... (value)value = ... (value)Math.floor(value)this[offset] = valuereturn offset + 1functio ... 8\n  }\n}{\n  if  ... 8\n  }\n}if (val ... lue + 1value < 0value = ... lue + 10xffff + value + 10xffff + value65535for (va ... * 8\n  }i < jvar i = ... set, 2)j = Mat ... set, 2)Math.mi ... set, 2){\n    b ... * 8\n  }buf[off ...  i) * 8(value  ...  i) * 8(value  ... - i))))value & ...  - i)))(0xff < ...  - i)))0xff << ... 1 - i))(8 * (l ... 1 - i))8 * (li ...  1 - i)(little ...  1 - i)littleE ... : 1 - i1 - i(little ...  i) * 8Buffer. ... t + 2\n}functio ... t + 2\n}{\n  val ... t + 2\n}if (!no ... fff, 0)checkIn ... fff, 0)if (Buf ... ue)\n  }{\n    t ...  8)\n  }this[of ...  >>> 8)(value >>> 8)value >>> 8{\n    o ... ue)\n  }objectW ... , true)return offset + 2if (Buf ... se)\n  }{\n    t ... lue\n  }this[of ... = value{\n    o ... se)\n  }objectW ...  false)functio ... f\n  }\n}{\n  if  ... f\n  }\n}0xfffff ... lue + 10xffffffff + value4294967295for (va ... xff\n  }var i = ... set, 4)j = Mat ... set, 4)Math.mi ... set, 4){\n    b ... xff\n  }buf[off ...  & 0xff(value  ...  & 0xff(value  ... i) * 8)value > ...  i) * 8(little ...  3 - i)littleE ... : 3 - i3 - iBuffer. ... t + 4\n}functio ... t + 4\n}{\n  val ... t + 4\n}this[of ... >>> 24)(value >>> 24)value >>> 24this[of ... >>> 16)(value >>> 16)value >>> 16return offset + 4offset + 4Buffer. ... teIntLEif (!no ...   )\n  }{\n    c ...   )\n  }checkIn ... )\n    )Math.po ...  1) - 1Math.po ... th - 1)8 * byteLength - 1-Math.p ... th - 1)var sub ... ? 1 : 0sub = v ... ? 1 : 0value < 0 ? 1 : 0((value ...  & 0xFF((value ... ) - sub((value / mul) >> 0)(value / mul) >> 0Buffer. ... teIntBEBuffer. ... iteInt8if (!no ...  -0x80)checkIn ...  -0x80)-0x800xff + value + 10xff + valueif (!no ... 0x8000)checkIn ... 0x8000)32767-0x8000if (!no ... 000000)checkIn ... 000000){\n    t ... 24)\n  }{\n  if  ... t + 4\n}if (!no ... 38)\n  }{\n    c ... 38)\n  }checkIE ... 86e+38)3.40282 ... 886e+383.4028234663852886E38-3.4028 ... 886e+38ieee754.writeBuffer. ... sert)\n}functio ... sert)\n}{\n  ret ... sert)\n}return  ... Assert)writeFl ... Assert)functio ... t + 8\n}{\n  if  ... t + 8\n}if (!no ... 08)\n  }{\n    c ... 08)\n  }checkIE ... 7E+308)1.79769 ... 57E+3081.7976931348623157E308-1.7976 ... 57E+308return offset + 8offset + 8writeDo ... Assert)Buffer. ... n len\n}Buffer. ... pe.copyfunctio ... n len\n}{\n  if  ... n len\n}if (!en ... .length!end && end !== 0end !== 0if (tar ... .lengthtarget_ ... .lengthtarget.lengthif (!ta ... art = 0!target_starttarget_start = 0end > 0 ... < startend > 0if (end ... eturn 0end === startif (tar ... eturn 0target. ... h === 0target.length === 0if (tar ... s')\n  }target_start < 0'target ... bounds'targetStart out of boundsif (sta ... ounds')start < ... .lengthstart >= this.length'source ... bounds'sourceStart out of boundsif (end ... ounds')sourceEnd out of boundsif (tar ... art\n  }target. ... - starttarget. ... t_start{\n    e ... art\n  }end = t ... + starttarget. ... + startvar len ... - startlen = end - startif (len ... rt)\n  }len < 1 ... SUPPORTlen < 1000target[ ...  start]target[ ... _start]i + target_start{\n    t ... rt)\n  }target. ... _start)target._setthis.su ...  + len)start + lenreturn lenBuffer. ...  this\n}Buffer. ... pe.fillfunctio ...  this\n}{\n  if  ...  this\n}if (!va ... lue = 0!valuevalue = 0if (end ... start')throw n ... start')new Ran ... start')if (end ...  returnif (thi ...  return'start  ... bounds'start out of boundsend < 0 ... .lengthend out of boundsfor (i  ... e\n    }this[i] = valuethis[i]var byt ... ring())bytes = ... ring())utf8ToB ... ring())value.toString()value.toStringlen = bytes.lengthfor (i  ... ]\n    }this[i] ...  % len]bytes[i % len]i % lenreturn thisBuffer. ... yBufferif (typ ... r')\n  }typeof Uint8Arrayif (Buf ... r\n    }{\n      ... r\n    }return  ... .buffer(new Bu ... .buffer(new Buffer(this))new Buffer(this)var buf ... length)buf = n ... length)i += 1buf[i] = this[i]return buf.bufferbuf.buffer{\n    t ... r')\n  }throw n ... owser')new Typ ... owser')'Buffer ... rowser'Buffer.toArrayBuffer not supported in this browsertoArrayBuffer not supported in this browservar BP  ... ototypeBP = Bu ... ototypeBuffer. ... n arr\n}functio ... n arr\n}{\n  arr ... n arr\n}arr.con ...  Bufferarr.constructorarr._isBuffer = truearr._isBufferarr._set = arr.setarr._setarr.setarr.get = BP.getarr.getBP.getarr.set = BP.setBP.setarr.write = BP.writearr.writeBP.writearr.toS ... oStringarr.toStringBP.toStringarr.toL ... oStringarr.toLocaleStringarr.toJ ... .toJSONarr.toJSONBP.toJSONarr.equ ... .equalsarr.equalsBP.equalsarr.com ... comparearr.compareBP.comparearr.ind ... indexOfarr.indexOfBP.indexOfarr.copy = BP.copyarr.copyBP.copyarr.slice = BP.slicearr.sliceBP.slicearr.rea ... dUIntLEarr.readUIntLEBP.readUIntLEarr.rea ... dUIntBEarr.readUIntBEBP.readUIntBEarr.rea ... adUInt8arr.readUInt8BP.readUInt8arr.rea ... Int16LEarr.readUInt16LEBP.readUInt16LEarr.rea ... Int16BEarr.readUInt16BEBP.readUInt16BEarr.rea ... Int32LEarr.readUInt32LEBP.readUInt32LEarr.rea ... Int32BEarr.readUInt32BEBP.readUInt32BEarr.rea ... adIntLEarr.readIntLEBP.readIntLEarr.rea ... adIntBEarr.readIntBEBP.readIntBEarr.rea ... eadInt8arr.readInt8BP.readInt8arr.readInt16LEBP.readInt16LEarr.readInt16BEBP.readInt16BEarr.readInt32LEBP.readInt32LEarr.readInt32BEBP.readInt32BEarr.rea ... FloatLEarr.readFloatLEBP.readFloatLEarr.rea ... FloatBEarr.readFloatBEBP.readFloatBEarr.rea ... oubleLEarr.readDoubleLEBP.readDoubleLEarr.rea ... oubleBEarr.readDoubleBEBP.readDoubleBEarr.wri ... teUInt8arr.writeUInt8BP.writeUInt8arr.wri ... eUIntLEarr.writeUIntLEBP.writeUIntLEarr.wri ... eUIntBEarr.writeUIntBEBP.writeUIntBEarr.wri ... Int16LEarr.writeUInt16LEBP.writeUInt16LEarr.wri ... Int16BEarr.writeUInt16BEBP.writeUInt16BEarr.wri ... Int32LEarr.writeUInt32LEBP.writeUInt32LEarr.wri ... Int32BEarr.writeUInt32BEBP.writeUInt32BEarr.wri ... teIntLEarr.writeIntLEBP.writeIntLEarr.wri ... teIntBEarr.writeIntBEBP.writeIntBEarr.wri ... iteInt8arr.writeInt8BP.writeInt8arr.writeInt16LEBP.writeInt16LEarr.writeInt16BEBP.writeInt16BEarr.writeInt32LEBP.writeInt32LEarr.writeInt32BEBP.writeInt32BEarr.wri ... FloatLEarr.writeFloatLEBP.writeFloatLEarr.wri ... FloatBEarr.writeFloatBEBP.writeFloatBEarr.wri ... oubleLEarr.writeDoubleLEBP.writeDoubleLEarr.wri ... oubleBEarr.writeDoubleBEBP.writeDoubleBEarr.fill = BP.fillarr.fillBP.fillarr.ins ... inspectarr.inspectBP.inspectarr.toA ... yBufferarr.toArrayBufferBP.toArrayBufferreturn arrvar INV ... -z\-]/gINVALID ... -z\-]/g[^+\/0-9A-z\-]A-zAfunctio ... n str\n}{\n  //  ... n str\n}str = s ... RE, '')stringt ... RE, '')stringt ... replacestringtrim(str)if (str ... turn ''str.length < 2while ( ... '='\n  }str.length % 4 !== 0str.length % 4{\n    s ... '='\n  }str = str + '='str + '='return strfunctio ... , '')\n}{\n  if  ... , '')\n}if (str ... .trim()str.trimreturn str.trim()str.trim()return  ... /g, '')str.rep ... /g, '')str.replace^\s+|\s+$^\s+\s+$functio ... mber'\n}{\n  ret ... mber'\n}return  ... number'isArray ... number'isArray ... ubject)isArray(subject)subject ... number'subject ... object'typeof  ... .lengthfunctio ... g(16)\n}{\n  if  ... g(16)\n}if (n < ... ing(16)n < 16return  ... ing(16)'0' + n.toString(16)n.toString(16)n.toStringfunctio ... bytes\n}{\n  uni ... bytes\n}units = ... nfinityunits || Infinityvar codePointvar lea ...  = nullleadSurrogate = nullvar bytes = []bytes = []for (;  ...   }\n  }{\n    c ...   }\n  }codePoi ... deAt(i)string.charCodeAt(i)string.charCodeAtif (cod ... l\n    }codePoi ...  0xE000codePoint > 0xD7FF55295codePoint < 0xE00057344if (lea ...       }if (cod ...       }codePoint < 0xDC0056320if ((un ... , 0xBD)(units -= 3) > -1(units -= 3)units -= 3bytes.p ... , 0xBD)bytes.push239191189leadSur ... dePointcodePoi ... 0x10000leadSur ... 0x10000leadSur ...  0xDC00leadSur ... 0 << 10leadSur ...  0xD80055296codePoint - 0xDC0065536codePoint > 0xDBFF56319if (i + ...       }i + 1 === lengthif (lea ... l\n    }if (cod ... )\n    }codePoint < 0x80if ((un ... ) break(units -= 1) < 0(units -= 1)units -= 1bytes.p ... ePoint)codePoint < 0x8002048(units -= 2) < 0(units -= 2)units -= 2bytes.p ...       )codePoi ...  | 0xC0codePoint >> 0x6192codePoi ...  | 0x80codePoint & 0x3FcodePoint < 0x10000(units -= 3) < 0codePoi ...  | 0xE0codePoint >> 0xC224codePoi ...  & 0x3FcodePoint < 0x2000002097152(units -= 4) < 0(units -= 4)units -= 4codePoi ...  | 0xF0codePoint >> 0x12240throw n ... point')new Err ... point')Invalid code pointreturn bytesfunctio ... Array\n}{\n  var ... Array\n}var byteArray = []byteArray = []for (va ... FF)\n  }i < str.length{\n    / ... FF)\n  }byteArr ... & 0xFF)byteArray.pushstr.cha ...  & 0xFFstr.charCodeAt(i)str.charCodeAtreturn byteArrayvar c, hi, lofor (va ... hi)\n  }{\n    i ... hi)\n  }c = str ... deAt(i)hi = c >> 8c >> 8lo = c % 256c % 256byteArray.push(lo)byteArray.push(hi)functio ... str))\n}{\n  ret ... str))\n}return  ... n(str))base64. ... n(str))base64.toByteArraybase64clean(str){\n  for ... urn i\n}for (va ... [i]\n  }{\n    i ... [i]\n  }if ((i  ... ) break(i + of ... length)i + off ... .lengthi + offsetdst.length(i >= src.length)i >= src.lengthsrc.lengthdst[i + ...  src[i]dst[i + offset]src[i]functio ... r\n  }\n}{\n  try ... r\n  }\n}try {\n  ... har\n  }{\n    r ... tr)\n  }return  ... nt(str)decodeU ... nt(str)catch ( ... har\n  }{\n    r ... har\n  }return  ... 0xFFFD)String. ... 0xFFFD)65533{"base6 ... ay":52}"base64-js":50"ieee754":51"is-array":5250:[fun ... \n\n},{}]functio ... ts))\n\n}{\nvar l ... ts))\n\n}var loo ... 789+/';lookup  ... 6789+/''ABCDEF ... 6789+/'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+(functi ... ports))functio ... xports)functio ... ase64\n}{\n\t'use ... ase64\n}var Arr ... : ArrayArr = ( ... : Array(typeof ... : Array(typeof ... fined')var PLU ... deAt(0)PLUS    ... deAt(0)'+'.charCodeAt(0)'+'.charCodeAtvar SLA ... deAt(0)SLASH   ... deAt(0)'/'.charCodeAt(0)'/'.charCodeAtvar NUM ... deAt(0)NUMBER  ... deAt(0)'0'.charCodeAt(0)'0'.charCodeAtvar LOW ... deAt(0)LOWER   ... deAt(0)'a'.charCodeAt(0)'a'.charCodeAtvar UPP ... deAt(0)UPPER   ... deAt(0)'A'.charCodeAt(0)'A'.charCodeAtPLUS_UR ... deAt(0)'-'.charCodeAt(0)'-'.charCodeAtSLASH_U ... deAt(0)'_'.charCodeAt(0)'_'.charCodeAtfunctio ... + 26\n\t}{\n\t\tvar ... + 26\n\t}var cod ... deAt(0)code =  ... deAt(0)elt.charCodeAt(0)elt.charCodeAtif (cod ... turn 62code == ... RL_SAFEcode === PLUSreturn 62if (cod ... turn 63code === SLASHreturn 63if (cod ... turn -1code < NUMBERif (cod ... 26 + 26code < NUMBER + 10NUMBER + 10return  ... 26 + 26code -  ... 26 + 26code - NUMBER + 26code - NUMBERif (cod ... - UPPERcode < UPPER + 26UPPER + 26return code - UPPERcode - UPPERif (cod ... ER + 26code < LOWER + 26LOWER + 26return  ... ER + 26code - LOWER + 26code - LOWERfunctio ...  arr\n\t}{\n\t\tvar ...  arr\n\t}var i,  ... rs, arrif (b64 ... 4')\n\t\t}b64.length % 4 > 0b64.length % 4b64.length{\n\t\t\tth ... 4')\n\t\t}throw n ...  of 4')new Err ...  of 4')'Invali ... e of 4'Invalid string. Length must be a multiple of 4Invalid string Length must be a multiple of 4var len = b64.lengthlen = b64.lengthplaceHo ... ? 1 : 0'=' === ... ? 1 : 0'=' === ... en - 2)b64.charAt(len - 2)b64.charAtlen - 2'=' === ... en - 1)b64.charAt(len - 1)len - 1arr = n ... olders)new Arr ... olders)b64.len ... Holdersb64.length * 3 / 4b64.length * 3l = pla ... .lengthplaceHo ... .lengthplaceHolders > 0b64.length - 4var L = 0L = 0functio ... = v\n\t\t}{\n\t\t\tar ... = v\n\t\t}arr[L++] = varr[L++]L++for (i  ... FF)\n\t\t}i < li += 4, j += 3i += 4j += 3i = 0, j = 0{\n\t\t\ttm ... FF)\n\t\t}tmp = ( ... i + 3))(decode ... i + 3))(decode ... ) << 6)(decode ...  << 12)(decode ...  << 18)decode( ... ) << 18decode( ... rAt(i))b64.charAt(i)decode( ... ) << 12decode( ... i + 1))b64.charAt(i + 1)decode( ... )) << 6decode( ... i + 2))b64.charAt(i + 2)i + 2decode( ... i + 3))b64.charAt(i + 3)i + 3push((t ...  >> 16)(tmp &  ... ) >> 16(tmp & 0xFF0000)tmp & 0xFF000016711680push((t ... ) >> 8)(tmp & 0xFF00) >> 8(tmp & 0xFF00)tmp & 0xFF0065280push(tmp & 0xFF)tmp & 0xFFif (pla ... FF)\n\t\t}placeHolders === 2tmp = ( ... ) >> 4)(decode ... ) >> 4)(decode ... ) << 2)decode( ... )) << 2decode( ... )) >> 4placeHolders === 1tmp = ( ... ) >> 2)(decode ... ) >> 2)(decode ... ) << 4)(decode ...  << 10)decode( ... ) << 10decode( ... )) << 4decode( ... )) >> 2push((t ... & 0xFF)(tmp >> 8) & 0xFF(tmp >> 8)tmp >> 8functio ... tput\n\t}{\n\t\tvar ... tput\n\t}var i,\n ...  lengthextraBy ... gth % 3uint8.length % 3uint8.lengthoutput = ""functio ... um)\n\t\t}{\n\t\t\tre ... um)\n\t\t}return  ... At(num)lookup.charAt(num)lookup.charAtfunctio ... 3F)\n\t\t}{\n\t\t\tre ... 3F)\n\t\t}return  ... & 0x3F)encode( ... & 0x3F)num >> 18 & 0x3Fnum >> 18num >> 12 & 0x3Fnum >> 12num >> 6 & 0x3Fnum >> 6encode(num & 0x3F)num & 0x3Ffor (i  ... mp)\n\t\t}i += 3i = 0,  ... raByteslength  ... raBytesuint8.l ... raBytes{\n\t\t\tte ... mp)\n\t\t}temp =  ... i + 2])(uint8[ ... i + 2])(uint8[ ... ] << 8)(uint8[i] << 16)uint8[i] << 16uint8[i](uint8[i + 1] << 8)uint8[i + 1] << 8uint8[i + 1](uint8[i + 2])uint8[i + 2]output  ... 4(temp)triplet ... 4(temp)switch  ... eak\n\t\t}case 1: ... \t\tbreaktemp =  ... th - 1]uint8[u ... th - 1]uint8.length - 1output  ... p >> 2)encode(temp >> 2)temp >> 2output  ... & 0x3F)(temp << 4) & 0x3F(temp << 4)temp << 4output += '=='case 2: ... \t\tbreaktemp =  ... h - 1])(uint8[ ... h - 1])uint8[u ... 2] << 8uint8[u ... th - 2]uint8.length - 2output  ...  >> 10)encode(temp >> 10)temp >> 10(temp >> 4) & 0x3F(temp >> 4)temp >> 4(temp << 2) & 0x3F(temp << 2)temp << 2output += '='return outputexports ... teArrayexports.toByteArrayexports ... oBase64(this.base64js = {})this.base64js = {}this.base64js51:[fun ... \n\n},{}]functio ... ;\n};\n\n}{\nexpor ... ;\n};\n\n}exports ... en);\n};exports ... Len);\n}exports.readfunctio ... Len);\n}{\n  var ... Len);\n}var e,  ... t + i];eLen =  ... Len - 1nBytes  ... Len - 1nBytes * 8 - mLennBytes * 8eMax =  ... en) - 1(1 << eLen) - 1(1 << eLen)1 << eLeneBias = eMax >> 1eMax >> 1nBits = -7-7i = isL ...  1) : 0isLE ?  ...  1) : 0(nBytes - 1)nBytes - 1d = isLE ? -1 : 1isLE ? -1 : 1s = buf ... et + i]buffer[offset + i]i += d;i += de = s & ... ) - 1);e = s & ... )) - 1)s & ((1 ... )) - 1)((1 <<  ... )) - 1)(1 << (-nBits)) - 1(1 << (-nBits))1 << (-nBits)(-nBits)-nBitss >>= (-nBits);s >>= (-nBits)nBits += eLen;nBits += eLenfor (;  ...  -= 8);nBits > 0e = e * ... ts -= 8e = e * ... et + i]e * 256 ... et + i]e * 256nBits -= 8m = e & ... ) - 1);m = e & ... )) - 1)e & ((1 ... )) - 1)e >>= (-nBits);e >>= (-nBits)nBits += mLen;nBits += mLenm = m * ... ts -= 8m = m * ... et + i]m * 256 ... et + i]m * 256if (e = ... as;\n  }e === 0{\n    e ... as;\n  }e = 1 - eBias;e = 1 - eBias1 - eBiase === eMax{\n    r ... y);\n  }return  ... inity);m ? NaN ... finity)((s ? - ... finity)(s ? -1 ... nfinity(s ? -1 : 1)s ? -1 : 1{\n    m ... as;\n  }m = m + ...  mLen);m = m + ... , mLen)m + Mat ... , mLen)Math.pow(2, mLen)e = e - eBias;e = e - eBiase - eBiasreturn  ...  mLen);(s ? -1 ... - mLen)(s ? -1 : 1) * mMath.po ... - mLen)e - mLenexports ... 128;\n};exports ...  128;\n}exports.writefunctio ...  128;\n}{\n  var ...  128;\n}var e,  ...  1 : 0;rt = (m ... 7) : 0)(mLen = ... 7) : 0)mLen == ... 77) : 0mLen === 23Math.po ... 2, -77)Math.pow(2, -24)-24Math.pow(2, -77)-77i = isL ... es - 1)isLE ?  ... es - 1)d = isLE ? 1 : -1isLE ? 1 : -1s = val ... ? 1 : 0value < ... ? 1 : 0value < ... ue < 0)(value  ... ue < 0)value = ... lue < 0value === 01 / value < 01 / valuevalue = ... value);Math.abs(value)if (isN ...   }\n  }isNaN(v ... nfinityisNaN(value)value === Infinity{\n    m ... ax;\n  }m = isN ...  1 : 0;m = isN ... ? 1 : 0isNaN(value) ? 1 : 0e = eMax;e = eMaxe = Mat ... h.LN2);e = Mat ... th.LN2)Math.fl ... th.LN2)Math.lo ... ath.LN2Math.log(value)value * ... e)) < 1value * ... 2, -e))(c = Ma ... 2, -e))c = Math.pow(2, -e)Math.pow(2, -e)-ee--;e--c *= 2;c *= 2if (e + ... ;\n    }e + eBias >= 1e + eBiasvalue += rt / c;value += rt / crt / cvalue + ... eBias);value + ...  eBias)rt * Ma ...  eBias)Math.po ...  eBias)value * c >= 2value * ce++;e++c /= 2;c /= 2e + eBias >= eMaxm = 0;m = (va ...  mLen);m = (va ... , mLen)(value  ... , mLen)(value * c - 1)value * c - 1e = e + eBias;e = e + eBiasm = val ...  mLen);m = val ... , mLen)value * ... , mLen)value * ... as - 1)Math.po ... as - 1)eBias - 1e = 0;e = 0mLen >= 8buffer[ ... en -= 8buffer[ ...  & 0xffm & 0xffm /= 256mLen -= 8e = (e << mLen) | m;e = (e << mLen) | m(e << mLen) | m(e << mLen)e << mLeneLen += mLen;eLen += mLeneLen > 0e & 0xffe /= 256eLen -= 8buffer[ ...  * 128;buffer[ ... s * 128buffer[ ...  i - d]offset + i - ds * 12852:[fun ... \n\n},{}]{\n\n/**\n ... ;\n};\n\n}var isA ... sArray;isArray ... isArrayvar str ... String;str = O ... oStringmodule. ... al);\n};module. ... val);\n}isArray ... val);\n}functio ... val);\n}{\n  ret ... val);\n}return  ... l(val);!! val  ... ll(val)!! val! val'[objec ... ll(val)[object Array]str.call(val)str.call53:[fun ... s":54}][functi ... s":54}]functio ... ss'))\n}{\n(func ... ss'))\n}(functi ... cess'))(functi ... }\n;\n\n})functio ...  }\n;\n\n}{\n// Co ...  }\n;\n\n}functio ... arts;\n}{\n  //  ... arts;\n}var up = 0;up = 0i >= 0i = parts.length - 1var last = parts[i];last = parts[i]parts[i]if (las ... ;\n    }last === '.'parts.splice(i, 1);parts.splice(i, 1)parts.splicelast === '..'..up++;up++if (up) ... ;\n    }up--;up--if (all ...   }\n  }for (;  ... ;\n    }parts.unshift('..');parts.unshift('..')parts.unshiftreturn parts;var spl ... /]*)$/;splitPa ... \/]*)$//^(\/?| ... \/]*)$/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$(\/?|)\/?|\/?([\s\S]*?)[\s\S]*?[\s\S]((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|)(?:\.{1,2}|[^\/]+?|)\.{1,2}|[^\/]+?|\.{1,2}[^\/]+?[^\/](\.[^.\/]*|)\.[^.\/]*|\.[^.\/]*[^.\/]*[^.\/](?:[\/]*)[\/]*[\/]var spl ... (1);\n};splitPa ... e(1);\n}functio ... e(1);\n}{\n  ret ... e(1);\n}splitPa ... lice(1)splitPa ... ).slicesplitPa ... lename)splitPathRe.execexports ... '.';\n};exports ...  '.';\n}exports.resolvefunctio ...  '.';\n}{\n  var ...  '.';\n}var res ...  false;resolvedPath = ''resolve ... = falsefor (va ... /';\n  }i >= -1 ... bsolutei >= -1!resolvedAbsolutei = arg ... gth - 1{\n    v ... /';\n  }var pat ... .cwd();path =  ... s.cwd()(i >= 0 ... s.cwd()(i >= 0)arguments[i]process.cwd()process.cwdtypeof paththrow n ... ings');new Typ ... rings')'Argume ... trings'Arguments to path.resolve must be stringsArguments to pathresolve must be stringsif (!pa ... ;\n    }!pathresolve ... edPath;resolve ... vedPathpath +  ... vedPathpath + '/'resolve ... == '/';resolve ... === '/'path.ch ... === '/'path.charAt(0)path.charAtresolve ... n('/');resolve ... in('/')normali ... in('/')normali ... e).joinnormali ... solute)filter( ... p;\n  })resolve ... it('/')resolvedPath.splitfunctio ... !p;\n  }{\n    r ... !p;\n  }return !!p;!!p!preturn  ... || '.';((resol ...  || '.'((resol ... edPath)(resolv ... vedPath(resolv ... ' : '')resolve ... /' : ''exports ... ath;\n};exports ... path;\n}exports.normalizefunctio ... path;\n}{\n  var ... path;\n}var isA ... == '/';isAbsol ... e(path)exports ... e(path)exports.isAbsolutetrailin ... === '/'substr( ... === '/'substr(path, -1)path =  ... n('/');path =  ... in('/')path.split('/')path.split!isAbsoluteif (!pa ... .';\n  }!path && !isAbsolute{\n    p ... .';\n  }path = '.';path = '.'if (pat ... /';\n  }path && ... ngSlash{\n    p ... /';\n  }path += '/';path += '/'return  ... + path;(isAbso ...  + path(isAbso ... ' : '')isAbsol ... /' : ''exports ... '/';\n};exports ...  '/';\n}functio ...  '/';\n}{\n  ret ...  '/';\n}return  ... == '/';exports ... '));\n};exports ... /'));\n}exports.joinfunctio ... /'));\n}{\n  var ... /'));\n}var pat ... ts, 0);paths = ... nts, 0)Array.p ... nts, 0)return  ... ('/'));exports ... n('/'))filter( ... in('/')filter( ... }).joinfunctio ...  p;\n  }{\n    i ...  p;\n  }typeof pArguments to path.join must be stringsjoin must be stringsreturn p;exports ... /');\n};exports ... '/');\n}exports.relativefunctio ... '/');\n}{\n  fro ... '/');\n}from =  ... str(1);from =  ... bstr(1)exports ... bstr(1)exports ... .substrexports ... e(from)to = ex ... str(1);to = ex ... bstr(1)exports.resolve(to){\n    v ... 1);\n  }var start = 0;start < arr.lengthstart++if (arr ...  break;arr[start] !== ''arr[start]var end ... th - 1;end = arr.length - 1arr.length - 1end >= 0end--arr[end] !== ''arr[end]if (sta ... urn [];start > endreturn [];return  ... t + 1);arr.sli ... rt + 1)end - start + 1var fro ... ('/'));fromPar ... t('/'))trim(fr ... t('/'))from.split('/')from.splitvar toP ... ('/'));toParts ... t('/'))trim(to.split('/'))to.split('/')to.splitvar len ... ength);Math.mi ... length)fromParts.lengthtoParts.lengthvar sam ... length;samePar ...  lengthif (fro ... ;\n    }fromPar ... arts[i]fromParts[i]toParts[i]samePartsLength = i;samePartsLength = ivar out ... s = [];outputParts = []for (va ... ');\n  }i < fromParts.lengthvar i = ... sLengthi = samePartsLength{\n    o ... ');\n  }outputP ... ('..');outputP ... h('..')outputParts.pushoutputP ... ngth));outputP ... ength))outputParts.concattoParts ... Length)toParts.slicereturn  ... n('/');outputP ... in('/')outputParts.joinexports.sep = '/';exports.sep = '/'exports.sepexports ...  = ':';exports ... r = ':'exports.delimiterexports ... dir;\n};exports ...  dir;\n}exports.dirnamefunctio ...  dir;\n}{\n  var ...  dir;\n}var res ... ult[1];result  ... h(path)splitPath(path)root = result[0]result[0]dir = result[1]result[1]if (!ro ... .';\n  }!root && !dir!root!dir{\n    / ... .';\n  }return '.';if (dir ... 1);\n  }{\n    / ... 1);\n  }dir = d ... h - 1);dir = d ... th - 1)dir.sub ... th - 1)dir.substrdir.length - 1dir.lengthreturn root + dir;root + direxports ... n f;\n};exports ... rn f;\n}exports.basenamefunctio ... rn f;\n}{\n  var ... rn f;\n}var f = ... th)[2];f = spl ... ath)[2]splitPath(path)[2]if (ext ... h);\n  }ext &&  ... === extf.subst ... === extf.subst ... length)f.substr-1 * ext.lengthext.length{\n    f ... h);\n  }f = f.s ... ength);f = f.s ... length)f.lengt ... .lengthf.lengthreturn f;exports ... [3];\n};exports ... )[3];\n}exports.extnamefunctio ... )[3];\n}{\n  ret ... )[3];\n}return  ... th)[3];splitPath(path)[3]functio ...  res;\n}{\n    i ...  res;\n}if (xs. ... ter(f);xs.filterreturn xs.filter(f);xs.filter(f)var res = [];res = []for (va ... ;\n    }i < xs.lengthxs.lengthif (f(x ... xs[i]);f(xs[i], i, xs)xs[i]res.push(xs[i]);res.push(xs[i])res.pushreturn res;var sub ...     }\n;substr  ... ;\n    }'ab'.su ... ;\n    }'ab'.su ... === 'b''ab'.substr(-1)'ab'.substrabfunctio ...  len) }{ retur ...  len) }return  ... t, len)str.sub ... t, len)str.substrif (sta ...  start;start = ...  start;start = ... + startstr.length + startreturn  ... , len);require('_process')_process{"_process":54}"_process":5454:[fun ... \n\n},{}]functio ... ; };\n\n}{\n// sh ... ; };\n\n}var pro ... s = {};process ... ts = {}module.exports = {}var queue = [];queue = []var dra ...  false;draining = falsefunctio ... alse;\n}{\n    i ... alse;\n}if (dra ... ;\n    }draining = true;draining = truevar currentQueue;var len ... length;len = queue.lengthqueue.lengthwhile(l ... ;\n    }current ...  queue;currentQueue = queuequeue = [];var i = -1;i = -1++i < lencurrentQueue[i]();currentQueue[i]()currentQueue[i]len = queue.length;draining = false;process ...    }\n};process ...     }\n}process.nextTickfunctio ...     }\n}{\n    q ...     }\n}queue.push(fun);queue.push(fun)queue.pushif (!dr ... ;\n    }!drainingsetTime ... ue, 0);setTime ... eue, 0)process ... owser';process ... rowser'process.titleprocess ... = true;process ...  = trueprocess.browserprocess.env = {};process.env = {}process.argv = [];process.argv = []process.argvprocess ... n = '';process.version = ''process.versionprocess ... s = {};process ... ns = {}process.versionsfunction noop() {}process.on = noop;process.on = noopprocess.onprocess ... = noop;process ...  = noopprocess.addListenerprocess.once = noop;process.once = noopprocess.onceprocess.off = noop;process.off = noopprocess.offprocess ... istenerprocess ... stenersprocess.emit = noop;process.emit = noopprocess.emitprocess ... d');\n};process ... ed');\n}process.bindingfunctio ... ed');\n}{\n    t ... ed');\n}throw n ... rted');new Err ... orted')'proces ... ported'process.binding is not supportedbinding is not supportedprocess ...  '/' };process ... n '/' }functio ... n '/' }{ return '/' }return '/'process.chdirprocess.chdir is not supportedchdir is not supportedprocess ... n 0; };process ... rn 0; }process.umask55:[fun ... h":53}][functi ... h":53}]functio ... ist;\n\n}{\nvar c ... ist;\n\n}var can ... agents;caniuse ... .agentspath    ... 'path')fs      ... e('fs')var uni ... red;\n};uniq =  ... ered;\n}functio ... ered;\n}{\n    v ... ered;\n}var filtered = [];for ( v ... ;\n    }i < array.lengthif ( fi ... ay[i]);filtere ... ) == -1filtere ... ray[i])array[i]filtere ... ay[i]);normali ...    }\n};normali ...     }\n}{\n    i ...     }\n}if ( da ... ;\n    }data.ve ... ) != -1data.ve ... ersion)data.ve ... indexOfdata.versionsreturn version;var ali ... rsion];alias = ... ersion]browser ... ersion]browser ... a.name]browser ... Aliasesdata.nameif ( al ...  alias;return alias;var bro ...  });\n};browser ...   });\n}functio ...   });\n}{\n    i ...   });\n}if ( ty ...  = { };typeof( ... efined'typeof(opts)(opts)opts = { };opts = { }if ( ty ... }\n    }typeof( ... == nulltypeof(selections)(selections)selections === nullvar con ... .path);config  ... s.path)browser ... s.path)browser ... dConfigopts.pathif ( co ...       }config === falseselecti ... faults;selecti ... efaultsselections = config;selections = configif ( ty ... ;\n    }typeof( ... string'selecti ... ,\s*/);selecti ... /,\s*/)selections.splitvar result = [];result = []var que ... , used;selecti ...     });selecti ... \n    })selections.forEachif ( se ... return;selecti ...  === ''selection.trim()selection.trimused = false;used = falsefor ( v ...       }browserslist.queriesquery = ... ies[i];query = ... ries[i]browser ... ries[i]match = ... egexp);match = ... regexp)selecti ... regexp)selection.matchquery.regexpif ( ma ...       }array   ... ce(1));array   ... ice(1))query.s ... ice(1))query.select.applyquery.selectmatch.slice(1)match.sliceresult  ... array);result  ... (array)result.concat(array)result.concatused   = true;used   = trueif ( !u ...       }!usedthrow ' ...  + '`';'Unknow ... n + '`''Unknow ... lection'Unknow ... uery `'Unknown browser query ``uniq(re ... \n    })uniq(result).sortuniq(result)name1 = ... t(' ');name1 = ... it(' ')name1.split(' ')name1.splitname2 = ... t(' ');name2 = ... it(' ')name2.split(' ')name2.splitif ( na ...       }name1[0] == name2[0]name1[0]name2[0]return  ... e1[1]);parseFl ... me1[1])parseFloat(name2[1])name2[1]parseFloat(name1[1])name1[1]return  ... e2[0]);name1[0 ... me2[0])name1[0 ... Comparebrowser ...  = { };browser ...   = { }browserslist.databrowser ...  { }\n};browser ... : { }\n}browserslist.usage{\n    global: { }\n}global: { }browser ... 2.1'\n];browser ... 12.1'\n][\n    ' ... 12.1'\n]> 1%last 2 versionsFirefox ESROpera 12.1Opera 12browser ... rome'];browser ... hrome']browserslist.major['safar ... hrome']operabrowser ... _ff'\n};browser ... d_ff'\n}browserslist.aliases{\n    f ... d_ff'\n}fx:     ... irefox'ff:     ... irefox'ios:    ... os_saf'explorer:       'ie'blackberry:     'bb'explore ... ie_mob'operami ... p_mini'operamo ... op_mob'chromea ... nd_chr'firefox ... and_ff'browser ... s = { }browser ... ata;\n};browser ... data;\n}browserslist.byNamefunctio ... data;\n}{\n    n ... data;\n}name =  ... Case();name =  ... rCase()name.toLowerCase()name.toLowerCasename =  ... | name;name =  ... || namebrowser ... || namebrowser ... s[name]var dat ... [name];browser ... a[name]if ( !d ... + name;!datathrow ' ... + name;'Unknow ...  + nameUnknown browser return data;browser ... lse;\n};browser ... alse;\n}if ( fr ...  false;from === falseif ( !f ...  false;!fs.readFileSyncif ( ty ...  = '.';typeof(from)(from)from = '.';from = '.'var dir ... h.sep);dirs =  ... th.sep)path.re ... th.sep)path.re ... ).splitpath.resolve(from)var config, stat;while ( ... ;\n    }dirs.lengthconfig  ... h.sep);config  ... th.sep)dirs.co ... th.sep)dirs.co ... ]).joindirs.co ... list'])dirs.concat['browserslist']if ( fs ...       }fs.exis ... sFile()fs.exis ... config)fs.lsta ... sFile()fs.lsta ... .isFilefs.lstatSync(config)return  ... fig) );browser ... nfig) )browser ... eConfigfs.read ... config)dirs.pop();dirs.pop()dirs.popbrowser ...  });\n};{\n    r ...   });\n}string. ...      })string. ... .filterstring. ...    .mapstring. ... t(/\n/)string. ...  .splitstring. ... /g, '')string. ... replacestring.toString()string.toString#[^\n]*return i.trim();i.trim()i.trimreturn i !== '';i !== ''browser ...   }\n\n};browser ...    }\n\n}{\n\n     ...    }\n\n}lastVer ... }\n    }regexp: ... ons?$/i/^last  ... ons?$/i^last (\d+) versions?$last (\d+) versions?select: ...       }var selected = [];browser ... forEachvar dat ... (name);data  = ... e(name)browser ... e(name)var arr ... sions);array = ... rsions)data.re ... rsions)data.released.slicedata.released-versionsarray = ...     });array = ...      })array.m ...      })array.mapreturn  ...  ' + v;data.name + ' ' + vdata.name + ' 'selecte ... array);selecte ... (array)lastByB ... }\n    }^last (\d+) (\w+) versions?$(\w+)data =  ... e(name)data.re ...      })data.re ... ns).mapglobalS ... }\n    }regexp: ... \d*)%$/^> (\d+\.?\d*)%$> (\d+\.?\d*)\d+\.?\d*popular ... arity);popular ... larity)parseFl ... larity)browser ... .globalvar versionif ( br ...       }browser ... ularityresult. ... rsion);result.push(version)result.pushreturn result;country ... }\n    }regexp: ... \w\w)$//^> (\d ... \w\w)$/^> (\d+\.?\d*)% in (\w\w)$% in (\w\w)\w\wcountry ... Case();country ... rCase()country.toUpperCasevar usa ... untry];usage = ... ountry]browser ... ountry]!usageusage = { };usage = { }var dat ... untry);data =  ... ountry)require ... ountry)'canius ... country'canius ... -json/'caniuse-db/region-usage-json/fillUsa ... ta[i]);fillUsa ... ata[i])data.data[i]browser ...  usage;browser ... = usageif ( us ...       }usage[v ... ularityusage[version]version ... }\n    }regexp: ... d\.]+)//^(\w+) ... d\.]+)/^(\w+) (>=?|<=?)\s*([\d\.]+)(>=?|<=?)>=?|<=?>=?=?<=?([\d\.]+)[\d\.]+[\d\.]var filter;if ( si ...       }sign == '>'filter  ...      };filter  ...       }parseFl ... versionparseFloat(v)sign == '>='sign == '<'sign == '<='data.re ... er).mapdata.re ... filter)data.released.filteresr: {\n ... }\n    }regexp: ...  esr$/i/^(fire ...  esr$/i^(firefox|ff|fx) esr$(firefox|ff|fx)firefox|ff|fx esrreturn  ... x 31'];['firefox 31']firefox 31direct: ... }\n    }regexp: ... \.]+)$/^(\w+) ([\d\.]+)$var ali ... rsion);alias = ... ersion)normali ... ersion)if ( al ...       }version = alias;version = aliasif ( ve ...       }version ... ) == -1version.indexOf('.')version.indexOfalias = ... + '.0';alias = ...  + '.0'version + '.0'.0if ( /\ ...       }/\.0$/.test(version)/\.0$/.test\.0$alias = ... /, '');alias = ... $/, '')version ... $/, '')version.replacealias = ... alias);alias = ...  alias)normali ...  alias)'Unknow ...  ' of ''Unknow ... versionUnknown version  of return  ... rsion];[data.n ... ersion]data.na ... versionvar nor ...  });\n};normali ...   });\n}version ... \n    })versions.filterreturn  ... tring';typeof(version)(version)var fil ...    }\n};fillUsa ...     }\n}{\n    f ...     }\n}result[ ... ata[i];result[ ...  ' + i]name + ' ' + iname + ' 'for ( v ...     }\n}var name{\n    b ...     }\n}browser ... \n    };browser ... )\n    }name:     nameversion ... rsions)normali ... rsions)caniuse ... ersionscaniuse[name]release ... 0, -3))normali ... 0, -3))caniuse ... (0, -3)caniuse ... s.slice-3fillUsa ... lobal);fillUsa ... global)caniuse ... _globalbrowser ... ] = { }for ( v ... }\n    }i < can ... .lengthcaniuse ... .lengthif ( !c ... ntinue;!canius ... ions[i]caniuse ... ions[i]var ful ... ons[i];full =  ... ions[i]if ( fu ...       }full.in ... ) != -1full.indexOf('-')full.indexOfvar int ... t('-');interva ... it('-')full.split('-')full.splitj < interval.lengthinterval.lengthvar j = 0browser ... = full;browser ...  = fullbrowser ... al[j] ]interval[j]module. ... rslist;module. ... erslist{"caniu ... th":53}"fs":48"path":5356:[fun ... }\n},{}][functi ... }\n},{}]functio ... 0"}}}\n}{\nmodul ... 0"}}}\n}module. ... 560"}}}{"eras" ... 560"}}}"eras": ... ahead"}eras{"e-37" ... ahead"}"e-37": ... s back"e-3737 versions back"e-36": ... s back"e-3636 versions back"e-35": ... s back"e-3535 versions back"e-34": ... s back"e-3434 versions back"e-33": ... s back"e-3333 versions back"e-32": ... s back"e-3232 versions back"e-31": ... s back"e-3131 versions back"e-30": ... s back"e-3030 versions back"e-29": ... s back"e-2929 versions back"e-28": ... s back"e-2828 versions back"e-27": ... s back"e-2727 versions back"e-26": ... s back"e-2626 versions back"e-25": ... s back"e-2525 versions back"e-24": ... s back"e-2424 versions back"e-23": ... s back"e-2323 versions back"e-22": ... s back"e-2222 versions back"e-21": ... s back"e-2121 versions back"e-20": ... s back"e-2020 versions back"e-19": ... s back"e-1919 versions back"e-18": ... s back"e-1818 versions back"e-17": ... s back"e-1717 versions back"e-16": ... s back"e-1616 versions back"e-15": ... s back"e-1515 versions back"e-14": ... s back"e-1414 versions back"e-13": ... s back"e-1313 versions back"e-12": ... s back"e-1212 versions back"e-11": ... s back"e-1111 versions back"e-10": ... s back"e-1010 versions back"e-9":" ... s back"e-99 versions back"e-8":" ... s back"e-88 versions back"e-7":" ... s back"e-77 versions back"e-6":" ... s back"e-66 versions back"e-5":" ... s back"e-55 versions back"e-4":" ... s back"e-44 versions back"e-3":" ... s back"e-33 versions back"e-2":" ... s back"e-22 versions back"e-1":" ... ersion"e-1Previous version"e0":"Current"e0Current"e1":"Near future"e1Near future"e2":"F ... future"e2Farther future"e3":"3 ...  ahead"e33 versions ahead"agents ... kit"}}}{"ie":{ ... kit"}}}"ie":{" ... ,null]}{"brows ... ,null]}"browser":"IE""abbr":"IE""prefix":"ms""type":"desktop"desktop"usage_ ... "TP":0}{"5.5": ... "TP":0}"5.5":0.0092985.5"6":0.0894521"7":0.0894521"8":2.33264"9":1.63766"10":1.29362"11":7.98188"TP":0TP"versio ... l,null][null,n ... l,null]"firefo ... ,"40"]}{"brows ... ,"40"]}"browser":"Firefox"Firefox"abbr":"FF"FF"prefix":"moz"moz"usage_ ... "40":0}{"2":0. ... "40":0}"2":0.019968"3":0.039936"3.5":0.0133123.5"3.6":0.0798723.6"4":0.019968"5":0.013312"6":0.019968"7":0.006656"8":0.03328"9":0.013312"10":0.026624"11":0.026624"12":0.046592"13":0.019968"14":0.019968"15":0.03328"16":0.046592"17":0.03328"18":0.03328"19":0.03328"20":0.03328"21":0.079872"22":0.026624"23":0.046592"24":0.059904"25":0.059904"26":0.046592"27":0.139776"28":0.039936"29":0.06656"30":0.086528"31":0.69888"32":0.425984"33":0.139776"34":0.206336"35":1.53088"36":7.70099"37":0.279552"38":0.013312"39":0.006656"40":0"versio ... ","40"]["2","3 ... ","40"]"chrome ... ,"44"]}{"brows ... ,"44"]}"browser":"Chrome""abbr":"Chr."Chr.Chr"prefix":"webkit""usage_ ... "44":0}{"4":0. ... "44":0}"4":0.013312"6":0.013312"8":0.006656"9":0.006656"11":0.073216"12":0.026624"14":0.013312"15":0.019968"16":0.013312"17":0.013312"18":0.026624"19":0.019968"20":0.013312"21":0.073216"22":0.079872"23":0.026624"24":0.073216"25":0.026624"27":0.059904"28":0.053248"30":0.119808"31":0.772096"32":0.06656"33":0.19968"34":0.212992"35":0.43264"36":0.851968"37":1.03168"38":0.539136"39":1.21805"40":10.4832"41":17.3056"42":0.146432"43":0.126464"44":0"versio ... ","44"]["4","5 ... ","44"]"safari ... ,null]}"browser":"Safari"Safari"abbr":"Saf."Saf.Saf"usage_ ... .45101}{"3.1": ... .45101}"3.1":03.1"3.2":0.0086923.2"4":0.053248"5":0.119808"5.1":0.3394565.1"6":0.06656"6.1":0.3394566.1"7":0.672256"7.1":0.798727.1"8":1.45101"opera" ... ":"o"}}{"brows ... ":"o"}}"browser":"Opera""abbr":"Op."Op.Op"usage_ ... "29":0}{"9":0. ... "29":0}"9":0.0082"9.5-9.6":0.006859.5-9.65-9"10.0-10.1":0.01996810.0-10.10-10"10.5":0.008392"10.6":0.00729610.6"11":0.014996"11.1":0.00665611.1"11.5":0.01996811.5"11.6":0.01331211.6"12":0.019968"12.1":0.21299212.1"15":0.00685"16":0.00685"17":0.00685"18":0.006656"19":0.006597"21":0.006597"22":0.006597"23":0.013434"24":0.006702"25":0.013312"26":0.019968"27":0.246272"28":0.472576"29":0"versio ... ",null][null,n ... ",null]"prefix ... 1":"o"}{"9":"o ... 1":"o"}"9":"o""9.5-9.6":"o""10.0-10.1":"o""10.5":"o""10.6":"o""11":"o""11.1":"o""11.5":"o""11.6":"o""12":"o""12.1":"o""ios_sa ... ,null]}"browse ... Safari"iOS Safari"abbr":"iOS""type":"mobile"mobile"usage_ ... .46132}{"3.2": ... .46132}"3.2":0"4.0-4.1":04.0-4.10-4"4.2-4.3":04.2-4.32-4"5.0-5.1":0.03127665.0-5.10-5"6.0-6.1":0.07890236.0-6.10-6"7.0-7.1":1.247517.0-7.10-7"8":0.250213"8.1-8.3":5.461328.1-8.31-8"op_min ... ,null]}"browse ... a Mini""abbr":"O.Mini"O.MiniMini"prefix":"o""usage_ ... .79094}{"5.0-8.0":2.79094}"5.0-8.0":2.790945.0-8.00-8"androi ... ,null]}android"browse ... rowser"Android Browser"abbr":"And."And.And{"2.1": ... "40":0}"2.1":02.1"2.2":02.2"2.3":0.1067462.3"3":0"4":0.236609"4.1":0.8179334.1"4.2-4.3":1.41761"4.4":2.429324.4"4.4.3- ... 1.171494.4.3-4.4.43-4"op_mob ... bkit"}}{"brows ... bkit"}}"browse ... Mobile""abbr":"O.Mob"O.MobMob"usage_ ... 177994}{"10":0 ... 177994}"10":0"11":0"11.1":0"11.5":0"12":0.0007119767.11976E-4"12.1":0.0028479"24":0.0177994"prefix ... ebkit"}{"24":"webkit"}"24":"webkit""bb":{" ... ,null]}Blackberry Browser"abbr":"BB"BB"usage_ ... "10":0}{"7":0. ... "10":0}"7":0.082764"and_ch ... ,null]}"browse ... ndroid""abbr":"Chr/And."Chr/And.Chr/And"usage_ ... 0.9596}{"41":10.9596}"41":10.9596"and_ff ... ,null]}"Firefo ... ndroid""abbr":"FF/And."FF/And.FF/And"usage_ ... .13376}{"36":0.13376}"36":0.13376"ie_mob ... ,null]}"abbr":"IE.Mob"IE.Mob"usage_ ... .50967}{"10":0 ... .50967}"10":0.202602"11":0.50967"and_uc ... bkit"}}"UC Bro ... ndroid"UC Browser for Android"abbr":"UC"UC"usage_ ... .25022}{"9.9":4.25022}"9.9":4.250229.9{"9.9":"webkit"}"9.9":"webkit""status ...  Note"}statuses{"rec": ...  Note"}"rec":" ... dation"recW3C Recommendation"pr":"W ... dation"pr"W3C Pr ... dation"W3C Proposed Recommendation"cr":"W ... dation""W3C Ca ... dation"W3C Candidate Recommendation"wd":"W ...  Draft"wdW3C Working Draft"ls":"W ... andard"ls"WHATWG ... andard"WHATWG Living Standard"other":"Other"Other"unoff" ... / Note"unoffUnofficial / Note"cats": ... "SVG"]}cats{"CSS": ... "SVG"]}"CSS":[ ... "CSS3"]["CSS", ... "CSS3"]CSS2CSS3"HTML5" ... HTML5"]HTML5["Canvas","HTML5"]Canvas"JS API":["JS API"]JS API["JS API"]"Other" ... ,"DOM"]["PNG", ... ,"DOM"]PNGDOM"SVG":["SVG"]SVG["SVG"]"updated":1429298471updated"data": ... 0560"}}{"png-a ... 0560"}}"png-al ... id":""}png-alpha{"title ... id":""}"title" ... arency""PNG al ... arency"PNG alpha transparency"descri ...  files""Semi-t ...  files"Semi-transparent areas in PNG files"spec": ... R/PNG/""http:/ ... R/PNG/"http://www.w3.org/TR/PNG/org/TR/PNG/"status":"rec""links" ...  IE6"}][{"url" ...  IE6"}]{"url": ... pedia"}"url":" ... aphics""http:/ ... aphics"http://en.wikipedia.org/wiki/Portable_Network_Graphicshttp://enwikipediaorg/wiki/Portable_Network_Graphics"title":"Wikipedia"Wikipedia{"url": ... r IE6"}"url":" ... edPNG/""http:/ ... edPNG/"http://dillerdesign.com/experiment/DD_belatedPNG/http://dillerdesigncom/experiment/DD_belatedPNG/"title" ... or IE6"Workaround for IE6"categories":["PNG"]categories["PNG"]"stats" ... ":"y"}}{"ie":{ ... ":"y"}}"ie":{" ... P":"y"}{"5.5": ... P":"y"}"5.5":"n""6":"p""7":"y""8":"y""9":"y""10":"y""11":"y""TP":"y""firefo ... 0":"y"}{"2":"y ... 0":"y"}"2":"y""3":"y""3.5":"y""3.6":"y""4":"y""5":"y""6":"y""12":"y""13":"y""14":"y""15":"y""16":"y""17":"y""18":"y""19":"y""20":"y""21":"y""22":"y""23":"y""24":"y""25":"y""26":"y""27":"y""28":"y""29":"y""30":"y""31":"y""32":"y""33":"y""34":"y""35":"y""36":"y""37":"y""38":"y""39":"y""40":"y""chrome ... 4":"y"}{"4":"y ... 4":"y"}"41":"y""42":"y""43":"y""44":"y""safari ... 8":"y"}{"3.1": ... 8":"y"}"3.1":"y""3.2":"y""5.1":"y""6.1":"y""7.1":"y""opera" ... 9":"y"}{"9":"y ... 9":"y"}"9.5-9.6":"y""10.0-10.1":"y""10.5":"y""10.6":"y""11.1":"y""11.5":"y""11.6":"y""12.1":"y""ios_sa ... 3":"y"}{"3.2": ... 3":"y"}"4.0-4.1":"y""4.2-4.3":"y""5.0-5.1":"y""6.0-6.1":"y""7.0-7.1":"y""8.1-8.3":"y""op_min ... 0":"y"}{"5.0-8.0":"y"}"5.0-8.0":"y""androi ... 0":"y"}{"2.1": ... 0":"y"}"2.1":"y""2.2":"y""2.3":"y""4.1":"y""4.4":"y""4.4.3-4.4.4":"y""bb":{" ... 0":"y"}{"7":"y","10":"y"}"op_mob ... 4":"y"}{"10":" ... 4":"y"}"and_chr":{"41":"y"}{"41":"y"}"and_ff":{"36":"y"}{"36":"y"}"ie_mob ... 1":"y"}{"10":"y","11":"y"}"and_uc":{"9.9":"y"}{"9.9":"y"}"9.9":"y""notes" ...  PNGs.""IE6 do ...  PNGs."IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs"notes_by_num":{}notes_by_num"usage_perc_y":97.16usage_perc_y"usage_perc_a":0usage_perc_a"ucprefix":falseucprefix"parent":"""keywords":""keywords"ie_id":""ie_id"chrome_id":""chrome_id"apng": ... id":""}apng"title" ... (APNG)""Animat ... (APNG)"Animated PNG (APNG)Animated PNG (APNG)APNG"descri ... arency""Like a ... arency"Like animated GIFs, but allowing 24-bit colors and alpha transparency"spec": ... cation""https: ... cation"https://wiki.mozilla.org/APNG_Specificationhttps://wikiorg/APNG_Specification"status":"unoff""links" ... port"}][{"url" ... port"}]"url":" ... i/APNG""http:/ ... i/APNG"http://en.wikipedia.org/wiki/APNGorg/wiki/APNG{"url": ... anvas"}"url":" ... canvas""https: ... canvas"https://github.com/davidmz/apng-canvascom/davidmz/apng-canvas"title" ... canvas""Polyfi ... canvas"Polyfill using canvas{"url": ... pport"}"url":" ... kdbblp""https: ... kdbblp"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblphttps://chromegooglecom/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp"title" ... upport""Chrome ... upport"Chrome extension providing support"stats" ... ":"n"}}{"ie":{ ... ":"n"}}"ie":{" ... P":"n"}{"5.5": ... P":"n"}"6":"n""7":"n""8":"n""9":"n""10":"n""11":"n""TP":"n"{"2":"n ... 0":"y"}"2":"n""chrome ... 4":"n"}{"4":"n ... 4":"n"}"4":"n""5":"n""12":"n""13":"n""14":"n""15":"n""16":"n""17":"n""18":"n""19":"n""20":"n""21":"n""22":"n""23":"n""24":"n""25":"n""26":"n""27":"n""28":"n""29":"n""30":"n""31":"n""32":"n""33":"n""34":"n""35":"n""36":"n""37":"n""38":"n""39":"n""40":"n""41":"n""42":"n""43":"n""44":"n""3.1":"n""3.2":"n""5.1":"n""6.1":"n""7.1":"n""opera" ... 9":"n"}{"9":"n ... 9":"n"}"4.0-4.1":"n""4.2-4.3":"n""5.0-5.1":"n""6.0-6.1":"n""7.0-7.1":"n""op_min ... 0":"n"}{"5.0-8.0":"n"}"5.0-8.0":"n""androi ... 0":"n"}{"2.1": ... 0":"n"}"2.1":"n""2.2":"n""2.3":"n""3":"n""4.1":"n""4.4":"n""4.4.3-4.4.4":"n""bb":{" ... 0":"n"}{"7":"n","10":"n"}"op_mob ... 4":"n"}{"10":" ... 4":"n"}"and_chr":{"41":"n"}{"41":"n"}"ie_mob ... 1":"n"}{"10":"n","11":"n"}"and_uc":{"9.9":"n"}{"9.9":"n"}"9.9":"n""notes" ... played""Where  ... played"Where support for APNG is missing, only the first frame is displayed"usage_perc_y":19.88"video" ... id":""}"title" ... lement"Video element"descri ... g-in).""Method ... g-in)."Method of playing videos on webpages (without requiring a plug-in).Method of playing videos on webpages (without requiring a plug-in)without requiring a plug-in"spec": ... lement""https: ... lement"https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-elementhttps://htmlwhatwgorg/multipage/embedded-contenthtml#the-video-element"status":"ls""links" ... Docs"}][{"url" ... Docs"}]{"url": ... ments"}"url":" ... audio/""https: ... audio/"https://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/https://devcom/articles/view/everything-you-need-to-know-about-html5-video-and-audio/"title" ... ements""Detail ... ements"Detailed article on video/audio elements{"url": ... ation"}"url":" ... ct.org""http:/ ... ct.org"http://webmproject.orghttp://webmprojectorg"title" ... mation""WebM f ... mation"WebM format information{"url": ... ybody"}"url":" ... rybody""http:/ ... rybody"http://camendesign.co.uk/code/video_for_everybodyhttp://camendesigncouk/code/video_for_everybody"title" ... rybody""Video  ... rybody"Video for Everybody"url":" ... o.html""http:/ ... o.html"http://diveintohtml5.info/video.htmlhttp://diveintohtml5info/video"Video  ... upport"Video on the Web - includes info on Android support{"url": ...  test"}"url":" ... #video""https: ... #video"https://raw.github.com/phiggins42/has.js/master/detect/video.js#videohttps://rawcom/phiggins42/hasjs/master/detect/videojs#video"title" ... s test"has.js testjs test{"url": ...  Docs"}"url":" ... /video""http:/ ... /video"http://docs.webplatform.org/wiki/html/elements/videohttp://docswebplatformorg/wiki/html/elements/video"title" ... m Docs"WebPlatform Docs"catego ... HTML5"]["HTML5"]{"9":"n ... 9":"y"}"9.5-9.6":"n""10.0-10.1":"n""2.1":"a""2.2":"a""notes" ... ement.""Differ ... ement."Different browsers have support for different video formats, see sub-features for details. 

The Android browser (before 2.3) requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to run the video element.Different browsers have support for different video formats, see sub-features for details 

The Android browser (before 2.3)before 2.3before 2 requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/)http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/broken-linkscom/2010/07/08/making-html5-video-work-on-android-phones/ to run the video element"usage_perc_y":91.84"keywords":"<video>"<video>"audio" ... id":""}Audio elementMethod of playing sound on webpages (without requiring a plug-in).Method of playing sound on webpages https://html.spec.whatwg.org/multipage/embedded-content.html#the-audio-elementhtml#the-audio-element{"url": ... ticle"}"url":" ... owser/""http:/ ... owser/"http://html5doctor.com/native-audio-in-the-browser/http://html5doctorcom/native-audio-in-the-browser/"title" ... rticle""HTML5  ... rticle"HTML5 Doctor article{"url": ... ement"}"url":" ... demos/""http:/ ... demos/"http://www.jplayer.org/latest/demos/jplayerorg/latest/demos/"Demos  ... lement"Demos of audio player that uses the audio element"url":" ... -audio""http:/ ... -audio"http://24ways.org/2010/the-state-of-html5-audiohttp://24waysorg/2010/the-state-of-html5-audio"Detail ... upport"Detailed article on support{"url": ...  page"}"url":" ... s.html""http:/ ... s.html"http://textopia.org/androidsoundformats.htmlhttp://textopiaorg/androidsoundformats"title" ... t page""File f ... t page"File format test page{"url": ... Audio"}http://www.phoboslab.org/log/2011/03/the-state-of-html5-audiophoboslaborg/log/2011/03/the-state-of-html5-audio"title" ...  Audio""The St ...  Audio"The State of HTML5 Audio"url":" ... #audio""https: ... #audio"https://raw.github.com/phiggins42/has.js/master/detect/audio.js#audiojs/master/detect/audiojs#audio"url":" ... /audio""http:/ ... /audio"http://docs.webplatform.org/wiki/html/elements/audioorg/wiki/html/elements/audio"9.5-9.6":"a""10.0-10.1":"a""notes":"""usage_perc_a":0.03"keywords":"<audio>"<audio>"conten ... id":""}contenteditable"title" ... pport)""conten ... pport)"contenteditable attribute (basic support)contenteditable attribute (basic support)basic support"descri ... table.""Method ... table."Method of making any HTML element editable.Method of making any HTML element editable"spec": ... itable""https: ... itable"https://html.spec.whatwg.org/multipage/interaction.html#contenteditableorg/multipage/interactionhtml#contenteditable"url":" ... itable""http:/ ... itable"http://html5demos.com/contenteditablehttp://html5demoscom/contenteditable"title":"Demo page"Demo page{"url": ...  post"}https://blog.whatwg.org/the-road-to-html-5-contenteditablehttps://blogorg/the-road-to-html-5-contenteditable"title" ... g post"WHATWG blog post{"url": ... blems"}"url":" ... -work/""http:/ ... -work/"http://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-contenteditable-work/http://accessgaragewordpresscom/2009/05/08/how-to-hack-your-app-to-make-contenteditable-work/"title" ... oblems""Blog p ... oblems"Blog post on usage problemshttp://docs.webplatform.org/wiki/html/attributes/contentEditableorg/wiki/html/attributes/contentEditable"5.5":"y""3":"a""11.1":"n""11.5":"n""notes" ... dited.""This s ... dited."This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited.This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited"usage_perc_y":94.3"usage_perc_a":0.04"dragnd ... id":""}dragndrop"title" ... d Drop"Drag and Drop"descri ... cript.""Method ... cript."Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.Method of easily dragging and dropping elements on a page, requiring minimal JavaScript"spec": ... ml#dnd""https: ... ml#dnd"https://html.spec.whatwg.org/multipage/interaction.html#dndhtml#dnd"links" ... Drop"}][{"url" ... Drop"}]"url":" ... -drop/""http:/ ... -drop/"http://html5doctor.com/native-drag-and-drop/com/native-drag-and-drop/{"url": ...  demo"}"url":" ... x.html""http:/ ... x.html"http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.htmlhttp://nettutspluss3amazonawscom/64_html5dragdrop/demo/index"title" ... t demo"Shopping cart demo{"url": ... locks"}"url":" ... m/drag""http:/ ... m/drag"http://html5demos.com/dragcom/drag"title" ... blocks""Demo w ... blocks"Demo with link blocks"url":" ... gEvent""http:/ ... gEvent"http://docs.webplatform.org/wiki/dom/DragEventorg/wiki/dom/DragEvent{"url": ... in IE"}"url":" ... age-IE""https: ... age-IE"https://github.com/MihaiValentin/setDragImage-IEcom/MihaiValentin/setDragImage-IE"title" ...  in IE""Polyfi ...  in IE"Polyfill for setDragImage in IE{"url": ...  Drop"}"url":" ... d-drop""http:/ ... d-drop"http://blog.teamtreehouse.com/implementing-native-drag-and-drophttp://blogteamtreehousecom/implementing-native-drag-and-drop"Implem ... d Drop"Implementing Native Drag and Drop"ie":{" ... "a #2"}{"5.5": ... "a #2"}"5.5":"a #1"a #1"6":"a #1""7":"a #1""8":"a #1""9":"a #1""10":"a #2"a #2"11":"a #2""TP":"a #2"{"2":"p ... 0":"y"}"2":"p""3":"p"{"9":"p ... 9":"y"}"9":"p""9.5-9.6":"p""10.0-10.1":"p""10.5":"p""10.6":"p""11":"p""11.1":"p""11.5":"p""11.6":"p""ios_sa ... 3":"n"}{"3.2": ... 3":"n"}"8.1-8.3":"n""10":"p""12":"p""and_ff":{"36":"n"}{"36":"n"}"notes" ... mage`.""`dataT ... mage`."`dataTransfer.items` only supported by Chrome.

Currently no browser supports the `dropzone` attribute.

Firefox supports any kind of DOM elements for `.setDragImage`. Chrome must have either an `HTMLImageElement` or any kind of DOM elements attached to the DOM and within the viewport of the browser for `.setDragImage`.`dataTransferitems` only supported by Chrome

Currently no browser supports the `dropzone` attribute

Firefox supports any kind of DOM elements for `setDragImage` Chrome must have either an `HTMLImageElement` or any kind of DOM elements attached to the DOM and within the viewport of the browser for `"notes_ ... mage`"}{"1":"P ... mage`"}"1":"Pa ... Data`.""Partia ... Data`."Partial support refers to no support for the `dataTransfer.files` or `.types` objects and limited supported formats for `dataTransfer.setData`/`getData`.Partial support refers to no support for the `dataTransferfiles` or `types` objects and limited supported formats for `dataTransfersetData`/`getData`"2":"Pa ... Image`""Partia ... Image`"Partial support refers to not supporting `.setDragImage`Partial support refers to not supporting `"usage_perc_y":52.18"usage_perc_a":13.43"keywor ... nddrop"draganddrop"intern ... id":""}"intern ... zation"internationalization"title" ... on API""Intern ... on API"Internationalization API"descri ... tting.""Locale ... tting."Locale-sensitive collation (string comparison), number formatting, and date and time formatting.Locale-sensitive collation (string comparison)string comparison, number formatting, and date and time formatting"spec": ... 2/1.0/""http:/ ... 2/1.0/"http://www.ecma-international.org/ecma-402/1.0/ecma-internationalorg/ecma-402/10/"status":"other""links" ...  API"}][{"url" ...  API"}]{"url": ... rence"}"url":" ... s/Intl""https: ... s/Intl"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intlhttps://developerorg/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl"title" ... erence"MDN reference{"url": ... n API"}"url":" ... n-api/""http:/ ... n-api/"http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/http://norbertlindenbergcom/2012/12/ecmascript-internationalization-api/"The EC ... on API"The ECMAScript Internationalization API"catego ... S API"]"3.5":"n""3.6":"n"{"4":"n ... 4":"y"}"safari ... 8":"n"}{"3.1": ... 8":"n"}"10.5":"n""10.6":"n""11.6":"n""12.1":"n""4.4":"u""4.4.3-4.4.4":"u"{"10":"n","11":"y"}"usage_perc_y":65.42"keywor ... Format""Intl,C ... Format"Intl,Collator,NumberFormat,DateTimeFormat"ie_id" ... ionapi""ecmasc ... ionapi"ecmascriptinternationalizationapi"querys ... id":""}queryselector"title" ... torAll""queryS ... torAll"querySelector/querySelectorAll"descri ... ectors""Method ... ectors"Method of accessing DOM elements using CSS selectors"spec": ... s-api/""http:/ ... s-api/"http://www.w3.org/TR/selectors-api/org/TR/selectors-api/{"url": ... ector"}"url":" ... lector""https: ... lector"https://developer.mozilla.org/en/DOM/element.querySelectororg/en/DOM/element"title" ... lector""MDN ar ... lector"MDN article on querySelector{"url": ... orAll"}"url":" ... torAll""https: ... torAll"https://developer.mozilla.org/En/DOM/Element.querySelectorAllorg/En/DOM/Element"MDN ar ... torAll"MDN article on querySelectorAll"url":" ... s-api/"http://cjihrig.com/blog/javascripts-selectors-api/http://cjihrigcom/blog/javascripts-selectors-api/"title":"Blog post"Blog post"http:/ ... lector"http://docs.webplatform.org/wiki/css/selectors_api/querySelectororg/wiki/css/selectors_api/querySelector"categories":["DOM"]["DOM"]"7":"p""notes_ ... nes)."}{"1":"P ... nes)."}"1":"Pa ... ones).""Partia ... ones)."Partial support in IE8 is due to being limited to [CSS 2.1 selectors](/#feat=css-sel2). Additionally, it will have trouble with selectors including unrecognized tags (for example HTML5 ones).Partial support in IE8 is due to being limited to [CSS 2.1 selectors](/#feat=css-sel2)/#feat=css-sel2 Additionally, it will have trouble with selectors including unrecognized tags (for example HTML5 ones)for example HTML5 ones"usage_perc_y":94.66"usage_perc_a":2.33"keywor ... rs api""query, ... rs api"query,selectors,selectors api"getele ... id":""}"getele ... ssname"getelementsbyclassname"title" ... ssName""getEle ... ssName""descri ... s name""Method ... s name"Method of accessing DOM elements by class name"spec": ... ssname""http:/ ... ssname"http://www.w3.org/TR/dom/#dom-document-getelementsbyclassnameorg/TR/dom/#dom-document-getelementsbyclassname"status":"wd""url":" ... ssName""http:/ ... ssName"http://www.quirksmode.org/dom/tests/basics.html#getElementsByClassNamequirksmodeorg/dom/tests/basicshtml#getElementsByClassName"title":"Test page"Test pagehttp://docs.webplatform.org/wiki/dom/HTMLElement/getElementsByClassNameorg/wiki/dom/HTMLElement/getElementsByClassName["DOM","HTML5"]"8":"p""usage_perc_y":94.71"keywor ... ssname"byclassname"forms" ... id":""}"title" ... atures""HTML5  ... atures"HTML5 form features"descri ... 2.0\".""Expand ... 2.0\"."Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads. Previously known as "Web forms 2.0".Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads Previously known as "Web forms 20""spec": ... #forms""https: ... #forms"https://html.spec.whatwg.org/multipage/forms.html#formsorg/multipage/formshtml#forms"links" ... pec)"}][{"url" ... pec)"}]"url":" ... r.html""https: ... r.html"https://miketaylr.com/code/input-type-attr.htmlhttps://miketaylrcom/code/input-type-attr"HTML5  ... t page"HTML5 inputs and attribute support page{"url": ... spec)"}"url":" ... forms2""https: ... forms2"https://github.com/westonruter/webforms2com/westonruter/webforms2"title" ...  spec)""Cross- ...  spec)"Cross-browser JS implementation (based on original spec)Cross-browser JS implementation (based on original spec)based on original spec"ie":{" ... P":"a"}{"5.5": ... P":"a"}"10":"a""11":"a""TP":"a""firefo ... 0":"a"}{"2":"p ... 0":"a"}"3.5":"p""3.6":"p""4":"a""5":"a""6":"a""7":"a""8":"a""9":"a""12":"a""13":"a""14":"a""15":"a""16":"a""17":"a""18":"a""19":"a""20":"a""21":"a""22":"a""23":"a""24":"a""25":"a""26":"a""27":"a""28":"a""29":"a""30":"a""31":"a""32":"a""33":"a""34":"a""35":"a""36":"a""37":"a""38":"a""39":"a""40":"a""chrome ... 4":"a"}{"4":"a ... 4":"a"}"41":"a""42":"a""43":"a""44":"a""safari ... 8":"a"}{"3.1": ... 8":"a"}"3.1":"p""3.2":"p""5.1":"a""6.1":"a""7.1":"a""opera" ... 9":"a"}{"9":"y ... 9":"a"}"ios_sa ... 3":"a"}{"3.2": ... 3":"a"}"4.0-4.1":"a""4.2-4.3":"a""5.0-5.1":"a""6.0-6.1":"a""7.0-7.1":"a""8.1-8.3":"a""androi ... 0":"a"}{"2.1": ... 0":"a"}"4.4":"a""4.4.3-4.4.4":"a""bb":{" ... 0":"a"}{"7":"n","10":"a"}"op_mob ... 4":"a"}{"10":" ... 4":"a"}"and_chr":{"41":"a"}{"41":"a"}"and_ff":{"36":"a"}{"36":"a"}"ie_mob ... 1":"a"}{"10":"a","11":"a"}"usage_perc_y":4.59"usage_perc_a":82.89"keywor ... picker"input,datepicker"html5s ... id":""}html5semantic"New se ... ements"New semantic elements"descri ...  main.""HTML5  ...  main."HTML5 offers some new elements, primarily for semantic purposes. The elements include: section, article, aside, header, footer, nav, figure, figcaption, time, mark, main.HTML5 offers some new elements, primarily for semantic purposes The elements include: section, article, aside, header, footer, nav, figure, figcaption, time, mark, main"spec": ... ctions""https: ... ctions"https://html.spec.whatwg.org/multipage/semantics.html#sectionsorg/multipage/semanticshtml#sections"links" ... test"}][{"url" ... test"}]{"url": ... or IE"}"url":" ... -in-ie""https: ... -in-ie"https://blog.whatwg.org/supporting-new-elements-in-ieorg/supporting-new-elements-in-ie"title" ... for IE"Workaround for IE{"url": ... round"}"url":" ... script""https: ... script"https://blog.whatwg.org/styling-ie-noscriptorg/styling-ie-noscript"title" ... around""Altern ... around"Alternate workaround"url":" ... ture3/""http:/ ... ture3/"http://oli.jp/2009/html5-structure3/http://olijp/2009/html5-structure3/"Articl ... ements"Article on structural elements"url":" ... ements""https: ... ements"https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-html5-elementsjs/master/detect/domjs#dom-html5-elements"stats" ... y #1"}}{"ie":{ ... y #1"}}"9":"y #1"y #1"10":"y #1""11":"y #1""3":"a #1""3.5":"a #1""3.6":"a #1""4":"y #1""5":"y #1""6":"y #1""7":"y #1""8":"y #1""12":"y #1""13":"y #1""14":"y #1""15":"y #1""16":"y #1""17":"y #1""18":"y #1""19":"y #1""20":"y #1"{"4":"a ... 4":"y"}"4":"a #1""5":"a #1""21":"y #1""22":"y #1""23":"y #1""24":"y #1""25":"y #1""3.1":"a #1""3.2":"a #1""5.1":"y #1"{"9":"a ... 9":"y"}"9.5-9.6":"a #1""10.0-10.1":"a #1""10.5":"a #1""10.6":"a #1""11":"a #1""11.1":"y #1""11.5":"y #1""11.6":"y #1""12.1":"y #1""4.0-4.1":"y #1""4.2-4.3":"y #1""5.0-5.1":"y #1""6.0-6.1":"y #1""op_min ... "a #1"}{"5.0-8.0":"a #1"}"5.0-8.0":"a #1""2.1":"a #1""2.2":"y #1""2.3":"y #1""3":"y #1""4.1":"y #1""bb":{" ... "y #1"}{"7":"y ... "y #1"}"10":"a #1""ie_mob ... "y #1"}{"10":" ... "y #1"}"and_uc ... "y #1"}{"9.9":"y #1"}"9.9":"y #1""Partia ... ement."Partial support refers to missing the default styling. This is easily taken care of by using display:block for all new elements (except time and mark, these should be display:inline anyway). IE11 and older versions of other browsers do not support the <main> element.Partial support refers to missing the default styling This is easily taken care of by using display:block for all new elements (except time and mark, these should be display:inline anyway)except time and mark, these should be display:inline anyway IE11 and older versions of other browsers do not support the <main> element"notes_ ... ment "}{"1":"D ... ment "}"1":"Do ... ement ""Does n ... ement "Does not include support for the <main> element "usage_perc_y":91.64"usage_perc_a":3.08"offlin ... 34432"}offline-apps{"title ... 34432"}"title" ... ations""Offlin ... ations"Offline web applications"descri ... e page""Method ... e page"Method of defining web page files to be cached using a cache manifest file, allowing them to work offline on subsequent visits to the page"spec": ... ffline""https: ... ffline"https://html.spec.whatwg.org/multipage/browsers.html#offlineorg/multipage/browsershtml#offline{"url": ... orial"}"url":" ... orial/""http:/ ... orial/"http://www.sitepoint.com/offline-web-application-tutorial/sitepointcom/offline-web-application-tutorial/"title" ... torial"Sitepoint tutorial"url":" ... e.html""http:/ ... e.html"http://diveintohtml5.info/offline.htmlinfo/offline"Dive I ... rticle"Dive Into HTML5 article{"url": ... /demo"}"url":" ... tions/""http:/ ... tions/"http://hacks.mozilla.org/2010/01/offline-web-applications/http://hacksorg/2010/01/offline-web-applications/"title" ... e/demo""Mozill ... e/demo"Mozilla Hacks article/demo"url":" ... nCache""http:/ ... nCache"http://docs.webplatform.org/wiki/apis/appcache/ApplicationCacheorg/wiki/apis/appcache/ApplicationCache"usage_perc_y":90.2"keywor ... online""appcac ... online"appcache,app cache,application cache,online"ie_id" ... ncache"applicationcache"chrome ... 634432"6192449487634432"webwor ... id":""}webworkers"title" ... orkers"Web Workers"descri ... b page""Method ... b page"Method of running scripts in the background, isolated from the web page"spec": ... s.html""https: ... s.html"https://html.spec.whatwg.org/multipage/workers.htmlorg/multipage/workers"links" ... rial"}][{"url" ... rial"}]"url":" ... orkers""https: ... orkers"https://developer.mozilla.org/En/Using_web_workersorg/En/Using_web_workersMDN articlehttp://nerget.com/rayjs-mt/rayjs.htmlhttp://nergetcom/rayjs-mt/rayjs"title" ... r demo"Web Worker demo{"url": ... aded)"}"url":" ... orker/""http:/ ... orker/"http://code.google.com/p/ie-web-worker/http://codecom/p/ie-web-worker/"title" ... eaded)""Polyfi ... eaded)"Polyfill for IE (single threaded)Polyfill for IE (single threaded)single threaded"url":" ... rkers/""http:/ ... rkers/"http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-web-workers/http://nettutspluscom/tutorials/javascript-ajax/getting-started-with-web-workers/"title":"Tutorial"Tutorial"usage_perc_y":87.62"fontfa ... id":""}fontface"title" ...  fonts""@font- ...  fonts"@font-face Web fonts"descri ... bsites""Method ... bsites"Method of displaying fonts downloaded from websites"spec": ... fonts/""http:/ ... fonts/"http://www.w3.org/TR/css3-webfonts/org/TR/css3-webfonts/"status":"cr"{"url": ...  site"}"url":" ... s.info""http:/ ... s.info"http://webfonts.infohttp://webfonts"title" ... n site""News a ... n site"News and information site"url":" ... graphy""http:/ ... graphy"http://en.wikipedia.org/wiki/Web_typographyorg/wiki/Web_typography"url":" ... /font/""http:/ ... /font/"http://www.css3files.com/font/css3filescom/font/"title" ... n page"Information page"url":" ... t-face""http:/ ... t-face"http://docs.webplatform.org/wiki/css/atrules/@font-faceorg/wiki/css/atrules/@font-face"catego ... "CSS3"]["CSS3"]"5.5":"a""3.2":"a""2.3":"a"{"7":"a","10":"y"}"notes" ... fonts.""Partia ... fonts."Partial support before IE9 refers to only supporting EOT fonts. Safari for iOS 4.1 and below only supports SVG fonts.Partial support before IE9 refers to only supporting EOT fonts Safari for iOS 41 and below only supports SVG fonts"usage_perc_y":91.68"usage_perc_a":2.71"keywor ... t face"font face"eot":{ ... id":""}eot"EOT -  ...  fonts"EOT - Embedded OpenType fonts"descri ... ebsite""Type o ... ebsite"Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the websiteType of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts Usage is restricted by the file being tied to the website"spec": ... n/EOT/""http:/ ... n/EOT/"http://www.w3.org/Submission/EOT/org/Submission/EOT/"links" ... ages"}][{"url" ... ages"}]"url":" ... enType""http:/ ... enType"http://en.wikipedia.org/wiki/Embedded_OpenTypeorg/wiki/Embedded_OpenType{"url": ... pages"}"url":" ... t.aspx""http:/ ... t.aspx"http://www.microsoft.com/typography/web/embedding/default.aspxmicrosoftcom/typography/web/embedding/defaultaspx"title" ...  pages"Example pages"catego ... Other"]["Other"]"firefo ... 0":"n"}{"2":"n ... 0":"n"}"notes" ... ation.""Propos ... ation."Proposal by Microsoft, being considered for W3C standardization.Proposal by Microsoft, being considered for W3C standardization"usage_perc_y":13.42"parent":"fontface""woff": ... id":""}woff"title" ... Format""WOFF - ... Format"WOFF - Web Open Font Format"descri ... ource.""Compre ... ource."Compressed TrueType/OpenType font that contains information about the font's source.Compressed TrueType/OpenType font that contains information about the font's source"spec": ... /WOFF/""http:/ ... /WOFF/"http://www.w3.org/TR/WOFF/org/TR/WOFF/"links" ... post"}][{"url" ... post"}]"url":" ... /woff/""http:/ ... /woff/"http://hacks.mozilla.org/2009/10/woff/org/2009/10/woff/"Mozill ... g post"Mozilla hacks blog post"notes" ... owser.""Report ... owser."Reported to be supported in some modified versions of the Android 4.0 browser.Reported to be supported in some modified versions of the Android 40 browser"usage_perc_y":89.03"multib ... id":""}multibackgrounds"title" ... rounds""CSS3 M ... rounds"CSS3 Multiple backgrounds"descri ... ground""Method ... ground"Method of using multiple images as a background"spec": ... round/""http:/ ... round/"http://www.w3.org/TR/css3-background/org/TR/css3-background/"url":" ... ounds/""http:/ ... ounds/"http://www.css3.info/preview/multiple-backgrounds/css3info/preview/multiple-backgrounds/"Demo & ... n page"Demo & information page"url":" ... round/"http://www.css3files.com/background/com/background/"url":" ... -image""http:/ ... -image"http://docs.webplatform.org/wiki/css/properties/background-imageorg/wiki/css/properties/background-image"usage_perc_y":94.63"border ... id":""}"title" ... images"CSS3 Border images"descri ... orders""Method ... orders"Method of using images for borders"spec": ... -image"org/TR/css3-background/#the-border-image"url":" ... order/""http:/ ... order/"http://www.css3files.com/border/com/border/http://docs.webplatform.org/wiki/css/properties/border-imageorg/wiki/css/properties/border-image"3.5":"a x"a x"3.6":"a x""4":"a x""5":"a x""6":"a x""7":"a x""8":"a x""9":"a x""10":"a x""11":"a x""12":"a x""13":"a x""14":"a x""15":"y x""3.1":"a x""3.2":"a x""5.1":"a x""10.5":"a""10.6":"a""11.1":"a x""11.5":"a x""11.6":"a x""12.1":"a x""4.0-4.1":"a x""4.2-4.3":"a x""5.0-5.1":"a x""op_min ... :"a x"}{"5.0-8.0":"a x"}"5.0-8.0":"a x""2.1":"a x""2.2":"a x""2.3":"a x""3":"a x""4.1":"a x"{"7":"a x","10":"y"}"notes" ... etc). ""Note t ... etc). "Note that both the `border-style` and `border-width` must be specified (not set to `none` or 0) for border-images to work according to spec, though older implementations may not have this requirement. Partial support refers to supporting the shorthand syntax, but not the individual properties (border-image-source, border-image-slice, etc). Note that both the `border-style` and `border-width` must be specified (not set to `none` or 0)not set to `none` or 0 for border-images to work according to spec, though older implementations may not have this requirement Partial support refers to supporting the shorthand syntax, but not the individual properties (border-image-source, border-image-slice, etc)border-image-source, border-image-slice, etc"usage_perc_y":84.64"usage_perc_a":6.87"backgr ... id":""}"backgr ... g-opts"background-img-opts"title" ... ptions""CSS3 B ... ptions"CSS3 Background-image options"descri ... d-size""New pr ... d-size"New properties to affect background images, including background-clip, background-origin and background-size"spec": ... rounds""http:/ ... rounds"http://www.w3.org/TR/css3-background/#backgroundsorg/TR/css3-background/#backgrounds"links" ... E7-8"}][{"url" ... E7-8"}]{"url": ... demos"}"url":" ... erties""http:/ ... erties"http://www.standardista.com/css3/css3-background-propertiesstandardistacom/css3/css3-background-properties"title" ...  demos""Detail ...  demos"Detailed compatibility tables and demos{"url": ... IE7-8"}"url":" ... lyfill""https: ... lyfill"https://github.com/louisremi/background-size-polyfillcom/louisremi/background-size-polyfill"title" ...  IE7-8"Polyfill for IE7-8"4":"a #3""5":"a #3""6":"a #3""7":"a #3""8":"a #3""9":"a #3""10":"a #3""11":"a #3""12":"a #3""13":"a #3""14":"a #3""3.1":"a #2 #3"a #2 #3"3.2":"a #2 #3""4":"a #2 #3""5":"a #2 #3""5.1":"a #2 #3""6":"a #2 #3""6.1":"a #2 #3""10.0-10.1":"a x""5.0-5.1":"a #3""2.2":"a x #3"a x #3"2.3":"a x #3""3":"a #3""4.1":"a #3""4.2-4.3":"a #3""notes_ ... thand"}{"1":"P ... thand"}"1":"Pa ... lues).""Partia ... lues)."Partial support in Opera Mini refers to not supporting background sizing or background attachments. However Opera Mini 7.5 supports background sizing (including cover and contain values).Partial support in Opera Mini refers to not supporting background sizing or background attachments However Opera Mini 75 supports background sizing (including cover and contain values)including cover and contain values"2":"Pa ... yntax.""Partia ... yntax."Partial support in Safari 6 refers to not supporting background sizing offset from edges syntax.Partial support in Safari 6 refers to not supporting background sizing offset from edges syntax"3":"Do ... rthand""Does n ... rthand"Does not support `background-size` values in the `background` shorthand"usage_perc_y":87.92"usage_perc_a":6.73"css-ta ... id":""}css-table"title" ... isplay"CSS Table display"descri ...  cells""Method ...  cells"Method of displaying elements as tables, rows, and cellshttp://www.w3.org/TR/CSS21/tables.htmlorg/TR/CSS21/tables"links" ... sage"}][{"url" ... sage"}]{"url": ... usage"}"url":" ... layout""http:/ ... layout"http://www.onenaught.com/posts/201/use-css-displaytable-for-layoutonenaughtcom/posts/201/use-css-displaytable-for-layout"title" ...  usage"Blog post on usage"catego ... "CSS2"]["CSS2"]"usage_perc_y":97.07"keywor ... layout""displa ... layout"display:table, display: table,table-cell,table-row,table-layout"css-ge ... id":""}css-gencontent"CSS Ge ... ements"CSS Generated content for pseudo-elements"descri ... erty. ""Method ... erty. "Method of displaying text or images before or after the given element's contents using the ::before and ::after pseudo-elements. All browsers with support also support the `attr()` notation in the `content` property. Method of displaying text or images before or after the given element's contents using the ::before and ::after pseudo-elements All browsers with support also support the `attr` notation in the `content` property"spec": ... e.html"http://www.w3.org/TR/CSS21/generate.htmlorg/TR/CSS21/generate"url":" ... t.html""http:/ ... t.html"http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated_content.htmlwestcivcom/style_master/academy/css_tutorial/advanced/generated_contentGuide on usage"url":" ... iques/""https: ... iques/"https://dev.opera.com/articles/view/css-generated-content-techniques/com/articles/view/css-generated-content-techniques/Dev.Opera articleDevOpera article"url":" ... ontent""http:/ ... ontent"http://docs.webplatform.org/wiki/css/generated_and_replaced_contentorg/wiki/css/generated_and_replaced_content["CSS2","CSS3"]"notes" ... ring).""IE8 on ... ring)."IE8 only supports the single-colon CSS 2.1 syntax (i.e. :pseudo-class). It does not support the double-colon CSS3 syntax (i.e. ::pseudo-element)

For content to appear in pseudo-elements, the `content` property must be set (but may be an empty string).IE8 only supports the single-colon CSS 21 syntax (i.e. :pseudo-class)i.e. :pseudo-class :pseudo-class It does not support the double-colon CSS3 syntax (i.e. ::pseudo-element)i.e. ::pseudo-element ::pseudo-element

For content to appear in pseudo-elements, the `content` property must be set (but may be an empty string)but may be an empty string"usage_perc_y":94.74"keywor ... ,after"before,after"css-fi ... id":""}css-fixed"title" ... :fixed"CSS position:fixed"descri ... sition""Method ... sition"Method of keeping an element in a fixed location regardless of scroll position"spec": ... ioning""http:/ ... ioning"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioningorg/TR/CSS21/visurenhtml#fixed-positioning"url":" ... 05.php""http:/ ... 05.php"http://www.css-101.org/fixed-positioning/05.phpcss-101org/fixed-positioning/05php"url":" ... ition/""http:/ ... ition/"http://bradfrostweb.com/blog/mobile/fixed-position/http://bradfrostwebcom/blog/mobile/fixed-position/"Articl ... upport"Article on mobile support"url":" ... sition""http:/ ... sition"http://docs.webplatform.org/wiki/css/properties/positionorg/wiki/css/properties/position"categories":["CSS"]["CSS"]"notes" ... ios/).""Only w ... ios/)."Only works in Android 2.2+ by using the following meta tag: <meta name="viewport" content="width=device-width, user-scalable=no">. 

Partial support in older iOS Safari refers to [buggy behavior](http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/).Only works in Android 22+ by using the following meta tag: <meta name="viewport" content="width=device-width, user-scalable=no"> 

Partial support in older iOS Safari refers to [buggy behavior](http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/)http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/http://remysharpcom/2012/05/24/issues-with-position-fixed-scrolling-on-ios/"usage_perc_y":92.91"usage_perc_a":1.46"hashch ... id":""}hashchange"title" ...  event"Hashchange event"descri ... #bar) ""Event  ... #bar) "Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar)for example: page.html#foo to page.html#barfor example: pagehtml#foo to pagehtml#bar"spec": ... erface""https: ... erface"https://html.spec.whatwg.org/multipage/browsers.html#the-hashchangeevent-interfacehtml#the-hashchangeevent-interface"url":" ... change""https: ... change"https://developer.mozilla.org/en/DOM/window.onhashchangeorg/en/DOM/window"url":" ... ).aspx""http:/ ... ).aspx"http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspxhttp://msdncom/en-us/library/cc288209(VS.85)VS.85VSMSDN articlehttp://www.quirksmode.org/dom/events/tests/hashchange.htmlorg/dom/events/tests/hashchange"title" ... e demo"Simple demo{"url": ... yfill"}"url":" ... Uri.js""http:/ ... Uri.js"http://github.com/3nr1c/jUri.jshttp://githubcom/3nr1c/jUri"title":"Polyfill"Polyfill"http:/ ... change"http://docs.webplatform.org/wiki/dom/Element/hashchangeorg/wiki/dom/Element/hashchange["HTML5","JS API"]"5.5":"p"{"4":"p ... 4":"y"}"4":"p""usage_perc_y":94.09"keywor ... eEvent""onhash ... eEvent"onhashchange,HashChangeEvent"css-se ... id":""}css-sel2"title" ... ectors"CSS 2.1 selectorsCSS 21 selectors"descri ... ector)""Basic  ... ector)"Basic CSS selectors including: `*` (universal selector), `>` (child selector), `:first-child`, `:link`, `:visited`, `:active`, `:hover`, `:focus`, `:lang()`, `+` (adjacent sibling selector), `[attr]`, `[attr="val"]`, `[attr~="val"]`, `[attr|="bar"]`, `.foo` (class selector), `#foo` (id selector)Basic CSS selectors including: `*` (universal selector)universal selector, `>` (child selector)child selector, `:first-child`, `:link`, `:visited`, `:active`, `:hover`, `:focus`, `:lang`, `+(adjacent sibling selector)adjacent sibling selector, `[attr]`, `[attr="val"][attr~="val"][attr|="bar"]foo` (class selector)class selector, `#foo` (id selector)id selector"spec": ... r.html""http:/ ... r.html"http://www.w3.org/TR/CSS21/selector.htmlorg/TR/CSS21/selectorhttp://www.quirksmode.org/css/contents.htmlorg/css/contents"Detail ... mation"Detailed support information{"url": ... ctors"}http://www.yourhtmlsource.com/stylesheets/advancedselectors.htmlyourhtmlsourcecom/stylesheets/advancedselectors"Exampl ... ectors"Examples of advanced selectors{"url": ... IE6-8"}"url":" ... zr.com""http:/ ... zr.com"http://selectivizr.comhttp://selectivizr"title" ...  IE6-8""Select ...  IE6-8"Selectivizr: Polyfill for IE6-8"url":" ... ectors""http:/ ... ectors"http://docs.webplatform.org/wiki/css/selectorsorg/wiki/css/selectorscss-sel3CSS3 selectors"descri ... bling)""Advanc ... bling)"Advanced element selection using selectors including: `[foo^="bar"]`, `[foo$="bar"]`, `[foo*="bar"]`, `:root`, `:nth-child()`,  `:nth-last-child()`, `nth-of-type`, `nth-last-of-type()`, `:last-child`, `:first-of-type`, `:last-of-type`, `:only-child`, `:only-of-type`, `:empty`, `:target`, `:enabled`, `:disabled`, `:checked`, `:not()`, `~` (general sibling)Advanced element selection using selectors including: `[foo^="bar"][foo$="bar"][foo*="bar"]`, `:root`, `:nth-child`,  `:nth-last-child`, `nth-of-type`, `nth-last-of-type`, `:last-child`, `:first-of-type`, `:last-of-type`, `:only-child`, `:only-of-type`, `:empty`, `:target`, `:enabled`, `:disabled`, `:checked`, `:not`, `~` (general sibling)general sibling"spec": ... ctors/""http:/ ... ctors/"http://www.w3.org/TR/css3-selectors/org/TR/css3-selectors/"url":" ... ctors/"http://www.quirksmode.org/css/selectors/org/css/selectors/"url":" ... -test/""http:/ ... -test/"http://www.css3.info/selectors-test/info/selectors-test/"title" ... r test""Automa ... r test"Automated CSS3 selector test"notes" ... =val]`""IE7 an ... =val]`"IE7 and IE8 support only these CSS3 selectors: General siblings (`element1~element2`) and Attribute selectors `[attr^=val]`, `[attr$=val]`, and `[attr*=val]`IE7 and IE8 support only these CSS3 selectors: General siblings (`element1~element2`)`element1~element2` and Attribute selectors `[attr^=val][attr$=val]`, and `[attr*=val]"usage_perc_y":94.67"usage_perc_a":2.42"css-te ... id":""}css-textshadow"title" ... shadow"CSS3 Text-shadow"descri ... o text""Method ... o text"Method of applying one or more shadow or blur effects to text"spec": ... operty""http:/ ... operty"http://www.w3.org/TR/css-text-decor-3/#text-shadow-propertyorg/TR/css-text-decor-3/#text-shadow-property"url":" ... hadow/""http:/ ... hadow/"http://hacks.mozilla.org/2009/06/text-shadow/org/2009/06/text-shadow/"Mozill ... rticle"Mozilla hacks article{"url": ... ditor"}"url":" ... ow.htm""http:/ ... ow.htm"http://ie.microsoft.com/testdrive/Graphics/hands-on-css3/hands-on_text-shadow.htmhttp://iecom/testdrive/Graphics/hands-on-css3/hands-on_text-shadow"title" ... editor"Live editor"url":" ... shadow""http:/ ... shadow"http://www.css3files.com/shadow/#textshadowcom/shadow/#textshadowhttp://docs.webplatform.org/wiki/css/properties/text-shadoworg/wiki/css/properties/text-shadow"ie":{" ... "y #1"}{"5.5": ... "y #1"}"TP":"y #1""3.1":"a""op_min ... 0":"a"}{"5.0-8.0":"a"}"5.0-8.0":"a""notes" ... adows.""Opera  ... adows."Opera Mini ignores the blur-radius set, so no blur effect is visible. Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard "dropshadow" or "glow" filters. 

Partial support in Safari 3.* refers to not supporting multiple shadows.Opera Mini ignores the blur-radius set, so no blur effect is visible Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard "dropshadow" or "glow" filters 

Partial support in Safari 3 refers to not supporting multiple shadows"notes_ ... ion. "}{"1":"I ... ion. "}"1":"IE ... tion. ""IE 10+ ... tion. "IE 10+ supports a fourth length value for the shadow's "spread". This is not (yet) part of the specification. IE 10+ supports a fourth length value for the shadow's "spread" This is not (yet)yet part of the specification"usage_perc_y":90.15"usage_perc_a":2.88"keywor ... shadow"text shadow"css-bo ... id":""}css-boxshadowCSS3 Box-shadow"descri ... ements""Method ... ements"Method of displaying an inner or outer shadow effect to elements"spec": ... shadow"org/TR/css3-background/#box-shadow"https: ... shadow"https://developer.mozilla.org/En/CSS/-moz-box-shadoworg/En/CSS/-moz-box-shadowhttp://westciv.com/tools/boxshadows/index.htmlhttp://westcivcom/tools/boxshadows/index{"url": ... fects"}http://tests.themasta.com/blogstuff/boxshadowdemo.htmlhttp://teststhemastacom/blogstuff/boxshadowdemo"title" ... ffects""Demo o ... ffects"Demo of various effectshttp://www.css3files.com/shadow/com/shadow/http://docs.webplatform.org/wiki/css/properties/box-shadoworg/wiki/css/properties/box-shadow"3.5":"y x""3.6":"y x""4":"y x""5":"y x""6":"y x""7":"y x""8":"y x""9":"y x""4.0-4.1":"y x""4.2-4.3":"y x"{"7":"y x","10":"y"}"notes" ... pport.""Can be ... pport."Can be partially emulated in older IE versions using the non-standard "shadow" filter. Partial support in Safari, iOS Safari and Android Browser refers to missing "inset", blur radius value, and multiple shadow support.Can be partially emulated in older IE versions using the non-standard "shadow" filter Partial support in Safari, iOS Safari and Android Browser refers to missing "inset", blur radius value, and multiple shadow support"usage_perc_a":0.17"keywor ... ,shaow""box-sh ... ,shaow"box-shadows,boxshadows,box shadow,shaow"css3-c ... id":""}css3-colors"title" ... Colors"CSS3 Colors"descri ... sla().""Method ... sla()."Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla().Method of describing colors using Hue, Saturation and Lightness (hsl())hsl()hsl rather than just RGB, as well as allowing alpha-transparency with rgba and hsla"spec": ... color/""http:/ ... color/"http://www.w3.org/TR/css3-color/org/TR/css3-color/"url":" ... rency/""https: ... rency/"https://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/"url":" ... color/"http://www.css3files.com/color/com/color/"url":" ... tation""http:/ ... tation"http://docs.webplatform.org/wiki/css/color#RGBA_Notationorg/wiki/css/color#RGBA_Notation{"2":"a ... 0":"y"}"2":"a""usage_perc_y":94.7"keywor ... a,hsla"rgb,hsl,rgba,hsla"css3-b ... id":""}css3-boxsizing"title" ... sizing"CSS3 Box-sizing"descri ...  units""Method ...  units"Method of specifying whether or not an element's borders and padding should be included in size units"spec": ... sizing""http:/ ... sizing"org/TR/css3-ui/#box-sizing"url":" ... sizing""https: ... sizing"https://developer.mozilla.org/En/CSS/Box-sizingorg/En/CSS/Box-sizing"url":" ... izing/""http:/ ... izing/"http://www.456bereastreet.com/archive/201104/controlling_width_with_css3_box-sizing/456bereastreetcom/archive/201104/controlling_width_with_css3_box-sizing/https://github.com/Schepp/box-sizing-polyfillcom/Schepp/box-sizing-polyfillPolyfill for IE{"url": ... ricks"}http://css-tricks.com/box-sizing/http://css-trickscom/box-sizing/"title":"CSS Tricks"CSS Trickshttp://docs.webplatform.org/wiki/css/properties/box-sizingorg/wiki/css/properties/box-sizing"stats" ... ":"a"}}{"ie":{ ... ":"a"}}"2":"y x""3":"y x""10":"y x""11":"y x""12":"y x""13":"y x""14":"y x""16":"y x""17":"y x""18":"y x""19":"y x""20":"y x""21":"y x""22":"y x""23":"y x""24":"y x""25":"y x""26":"y x""27":"y x""28":"y x"{"9":"n ... 9":"a"}"11.1":"a""11.5":"a""11.6":"a""12.1":"a""4.1":"a"{"7":"a x","10":"a"}"and_uc":{"9.9":"a"}{"9.9":"a"}"9.9":"a""notes" ... ater).""Partia ... ater)."Partial support refers to supporting only the `content-box` and `border-box` values, not `padding-box` (which was added to the spec later).Partial support refers to supporting only the `content-box` and `border-box` values, not `padding-box` (which was added to the spec later)which was added to the spec later"usage_perc_y":12.4"usage_perc_a":84.66"keywor ... ng-box""border ... ng-box"border-box,content-box,padding-box"css-me ... id":""}css-mediaqueries"title" ... ueries"CSS3 Media Queries"descri ... nsions""Method ... nsions"Method of applying styles based on media information. Includes things like page and device dimensionsMethod of applying styles based on media information Includes things like page and device dimensions"spec": ... eries/""http:/ ... eries/"http://www.w3.org/TR/css3-mediaqueries/org/TR/css3-mediaqueries/"url":" ... eries/"http://ie.microsoft.com/testdrive/HTML5/85CSS3_MediaQueries/com/testdrive/HTML5/85CSS3_MediaQueries/"IE dem ... mation"IE demo page with information"url":" ... ueries""http:/ ... ueries"http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-querieshttp://webdesignerwallcom/tutorials/responsive-design-with-css3-media-queries"Media  ... torial"Media Queries tutorial"url":" ... espond""https: ... espond"com/scottjehl/Respond"url":" ... @media""http:/ ... @media"http://docs.webplatform.org/wiki/css/atrules/@mediaorg/wiki/css/atrules/@media"notes" ... reload""Incomp ... reload"Incomplete support by older webkit browsers refers to only acknowledging different media rules on page reload"usage_perc_a":0.01"keywords":"@media"@media"multic ... 64448"}multicolumn{"title ... 64448"}"title" ... layout""CSS3 M ... layout"CSS3 Multiple column layout"descri ... olumns""Method ... olumns"Method of flowing information in multiple columns"spec": ... ticol/""http:/ ... ticol/"http://www.w3.org/TR/css3-multicol/org/TR/css3-multicol/"links" ... fill"}][{"url" ... fill"}]"url":" ... ayout/""https: ... ayout/"https://dev.opera.com/articles/view/css3-multi-column-layout/com/articles/view/css3-multi-column-layout/"url":" ... odule/""http:/ ... odule/"http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/an-introduction-to-the-css3-multiple-column-layout-module/http://webdesigncom/tutorials/htmlcss-tutorials/an-introduction-to-the-css3-multiple-column-layout-module/Introduction page"url":" ... -width""http:/ ... -width"http://docs.webplatform.org/wiki/css/properties/column-widthorg/wiki/css/properties/column-width"url":" ... Column""https: ... Column"https://github.com/BetleyWhitehorne/CSS3MultiColumncom/BetleyWhitehorne/CSS3MultiColumn"stats" ... "a x"}}{"ie":{ ... "a x"}}"firefo ... :"a x"}{"2":"a ... :"a x"}"2":"a x""15":"a x""16":"a x""17":"a x""18":"a x""19":"a x""20":"a x""21":"a x""22":"a x""23":"a x""24":"a x""25":"a x""26":"a x""27":"a x""28":"a x""29":"a x""30":"a x""31":"a x""32":"a x""33":"a x""34":"a x""35":"a x""36":"a x""37":"a x""38":"a x""39":"a x""40":"a x""chrome ... :"a x"}{"4":"a ... :"a x"}"41":"a x""42":"a x""43":"a x""44":"a x""safari ... :"a x"}{"3.1": ... :"a x"}"6.1":"a x""7.1":"a x""opera" ... :"a x"}{"9":"n ... :"a x"}"ios_sa ... :"a x"}{"3.2": ... :"a x"}"6.0-6.1":"a x""7.0-7.1":"a x""8.1-8.3":"a x""androi ... :"a x"}{"2.1": ... :"a x"}"4.4":"a x""4.4.3-4.4.4":"a x""bb":{" ... :"a x"}{"7":"a ... :"a x"}"op_mob ... :"a x"}{"10":" ... :"a x"}"and_ch ... :"a x"}{"41":"a x"}"and_ff ... :"a x"}{"36":"a x"}"and_uc ... :"a x"}{"9.9":"a x"}"9.9":"a x""notes" ... lues)."Partial support refers to not supporting the `break-before`, `break-after`, `break-inside` properties. Webkit browsers do have equivalent support for the non-standard `-webkit-column-break-*` properties while Firefox supports `page-break-*` to accomplish the same result (but only the `auto` and `always' values).Partial support refers to not supporting the `break-before`, `break-after`, `break-inside` properties Webkit browsers do have equivalent support for the non-standard `-webkit-column-break-*` properties while Firefox supports `page-break` to accomplish the same result (but only the `auto` and `always' values)but only the `auto` and `always' values"usage_perc_y":13.06"usage_perc_a":79.98"keywor ... -count""ie_id" ... upport""multic ... upport"multicolumnfullsupport"chrome ... 664448"6526151266664448"title" ... rners)""CSS3 B ... rners)"CSS3 Border-radius (rounded corners)CSS3 Border-radius (rounded corners)rounded corners"descri ...  round""Method ...  round"Method of making the border corners round"spec": ... radius""http:/ ... radius"org/TR/css3-background/#the-border-radius{"url": ... rator"}"url":" ... us.com""http:/ ... us.com"http://border-radius.comhttp://border-radius"title" ... erator""Border ... erator"Border-radius CSS Generator{"url": ... table"}"url":" ... liance""http:/ ... liance"http://muddledramblings.com/table-of-css3-border-radius-compliancehttp://muddledramblingscom/table-of-css3-border-radius-compliance"title" ...  table""Detail ...  table"Detailed compliance table"url":" ... radius"http://www.css3files.com/border/#borderradiuscom/border/#borderradius{"url": ... adius"}"url":" ... e.com/""http:/ ... e.com/"http://css3pie.com/http://css3piecom/"title" ... radius""Polyfi ... radius"Polyfill which includes border-radiushttp://docs.webplatform.org/wiki/css/properties/border-radiusorg/wiki/css/properties/border-radius"3.1":"y x""3.2":"y x""6.1":"y #1""2.1":"y x""notes_ ... 02128"}{"1":"S ... 02128"}"1":"Sa ... 202128""Safari ... 202128"Safari 6.1 and earlier did not apply `border-radius` correctly to image borders: http://stackoverflow.com/q/17202128Safari 61 and earlier did not apply `border-radius` correctly to image borders: http://stackoverflowcom/q/17202128"usage_perc_y":91.89"usage_perc_a":0.02"keywor ... radius""rounde ... radius"roundedcorners, border radius,-moz-border-radius"transf ... 28480"}transforms2d{"title ... 28480"}"title" ... sforms"CSS3 Transforms"descri ... , etc.""Method ... , etc."Method of transforming an element including rotating, scaling, etc.Method of transforming an element including rotating, scaling, etc"spec": ... forms/""http:/ ... forms/"http://www.w3.org/TR/css3-2d-transforms/org/TR/css3-2d-transforms/"url":" ... forms/"http://www.westciv.com/tools/transforms/com/tools/transforms/"url":" ... nsform""https: ... nsform"https://developer.mozilla.org/en/CSS/-moz-transformorg/en/CSS/-moz-transform"url":" ... paper/""http:/ ... paper/"http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/webresourcesdepotcom/cross-browser-css-transforms-csssandpaper/"Workar ... for IE"Workaround script for IE"url":" ... sform/""http:/ ... sform/"http://www.css3files.com/transform/com/transform/"url":" ... lator/""http:/ ... lator/"http://www.useragentman.com/IETransformsTranslator/useragentmancom/IETransformsTranslator/Converter for IEhttps://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transformjs/master/detect/cssjs#css-transform"http:/ ... nsform"http://docs.webplatform.org/wiki/css/transforms/transformorg/wiki/css/transforms/transform"stats" ... "y x"}}{"ie":{ ... "y x"}}"29":"y x""30":"y x""31":"y x""32":"y x""33":"y x""34":"y x""35":"y x""safari ... :"y x"}{"3.1": ... :"y x"}"5.1":"y x""6.1":"y x""7.1":"y x""10.5":"y x""10.6":"y x""11.1":"y x""11.5":"y x""11.6":"y x""ios_sa ... :"y x"}{"3.2": ... :"y x"}"5.0-5.1":"y x""6.0-6.1":"y x""7.0-7.1":"y x""8.1-8.3":"y x""2.2":"y x""2.3":"y x""4.1":"y x""4.4":"y x""4.4.3-4.4.4":"y x""bb":{" ... :"y x"}{"7":"y ... :"y x"}"and_uc ... :"y x"}{"9.9":"y x"}"9.9":"y x""notes" ... filter""The sc ... filter"The scale transform can be emulated in IE < 9 using Microsoft's "zoom" extension, others are (not easily) possible using the MS Matrix filterThe scale transform can be emulated in IE < 9 using Microsoft's "zoom" extension, others are (not easily)not easily possible using the MS Matrix filter"usage_perc_y":91.85"keywor ... sforms""transf ... sforms"transformation,translate,rotation,rotate,scale,css-transforms"ie_id":"transforms"transforms"chrome ... 628480"6437640580628480"use-st ... id":""}use-strict"title" ... t Mode""ECMASc ... t Mode"ECMAScript 5 Strict Mode"descri ... ntext.""Method ... ntext."Method of placing code in a "strict" operating context.Method of placing code in a "strict" operating context"spec": ... c-14.1""http:/ ... c-14.1"http://ecma-international.org/ecma-262/5.1/#sec-14.1http://ecma-internationalorg/ecma-262/51/#sec-14"links" ... uite"}][{"url" ... uite"}]"url":" ... -more/""http:/ ... -more/"http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/http://ejohnorg/blog/ecmascript-5-strict-mode-json-and-more/{"url": ... suite"}"url":" ... -mode/""http:/ ... -mode/"http://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/http://javascriptweblogcom/2011/05/03/javascript-strict-mode/"title" ...  suite""Articl ...  suite"Article with test suite"notes" ... valid.""Partia ... valid."Partial support in older Safari refers to strict mode still accepting a lot of JS that should be considered invalid.Partial support in older Safari refers to strict mode still accepting a lot of JS that should be considered invalid"usage_perc_y":89.25"usage_perc_a":0.46transforms3dCSS3 3D Transforms"descri ... ement.""Method ... ement."Method of transforming an element in the third dimension using the `transform` property. Includes support for the `perspective` property to set the perspective in z-space and the `backface-visibility` property to toggle display of the reverse side of a 3D-transformed element.Method of transforming an element in the third dimension using the `transform` property Includes support for the `perspective` property to set the perspective in z-space and the `backface-visibility` property to toggle display of the reverse side of a 3D-transformed elementhttp://www.w3.org/TR/css3-3d-transforms/org/TR/css3-3d-transforms/"links" ... orms"}][{"url" ... orms"}]"url":" ... /flip/""http:/ ... /flip/"http://css3.bradshawenterprises.com/flip/http://css3bradshawenterprisescom/flip/Multi-browser demo"url":" ... ghtly/""http:/ ... ghtly/"http://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/org/2011/10/css-3d-transformations-in-firefox-nightly/{"url": ... ester"}"url":" ... ester/""http:/ ... ester/"http://thewebrocks.com/demos/3D-css-tester/http://thewebrockscom/demos/3D-css-tester/"title" ... Tester"3D CSS Tester{"url": ... forms"}http://desandro.github.io/3dtransforms/http://desandroio/3dtransforms/"Intro  ... sforms"Intro to CSS 3D transforms"notes" ... ments.""Partia ... ments."Partial support in IE refers to not supporting [the transform-style: preserve-3d property](http://msdn.microsoft.com/en-us/library/ie/hh673529%28v=vs.85%29.aspx#the_ms_transform_style_property). This prevents nesting 3D transformed elements.Partial support in IE refers to not supporting [the transform-style: preserve-3d property]m-s(http://msdn.microsoft.com/en-us/library/ie/hh673529%28v=vs.85%29.aspx#the_ms_transform_style_property)http://msdn.microsoft.com/en-us/library/ie/hh673529%28v=vs.85%29.aspx#the_ms_transform_style_propertycom/en-us/library/ie/hh673529%28v=vs85%29aspx#the_ms_transform_style_property This prevents nesting 3D transformed elements"usage_perc_y":79.45"usage_perc_a":9.99"keywor ... ective""css 3d ... ective"css 3d,3dtransforms,translate3d,backface visibility,perspective"ie_id" ... erve3d""transf ... erve3d"transforms,csstransformspreserve3d"shared ... id":""}sharedworkersShared Web Workers"descri ... orker.""Method ... orker."Method of allowing multiple scripts to communicate with a single web worker.Method of allowing multiple scripts to communicate with a single web worker"spec": ... uction""https: ... uction"https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introductionhtml#shared-workers-introduction"url":" ... html5/""http:/ ... html5/"http://www.sitepoint.com/javascript-shared-web-workers-html5/com/javascript-shared-web-workers-html5/Sitepoint article"url":" ... okers/""http:/ ... okers/"http://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared-wrokers/http://greenidocom/2011/11/03/web-workers-part-3-out-of-3-shared-wrokers/"10":"u""usage_perc_y":51.73"parent ... orkers""keywor ... worker"shared worker"ie_id" ... orkers"sharedwebworkers"css-hy ... id":""}css-hyphens"title" ... nation"CSS Hyphenation"descri ... perty.""Method ... perty."Method of controlling when words at the end of lines should be hyphenated using the "hyphens" property.Method of controlling when words at the end of lines should be hyphenated using the "hyphens" property"spec": ... nation""http:/ ... nation"http://www.w3.org/TR/css3-text/#hyphenationorg/TR/css3-text/#hyphenation"url":" ... yphens""https: ... yphens"https://developer.mozilla.org/en/CSS/hyphensorg/en/CSS/hyphens"http:/ ... yphens"http://blog.fontdeck.com/post/9037028497/hyphensfontdeckcom/post/9037028497/hyphenshttp://docs.webplatform.org/wiki/css/properties/hyphensorg/wiki/css/properties/hyphens"ie":{" ... :"y x"}{"5.5": ... :"y x"}"TP":"y x""firefo ... :"y x"}{"2":"n ... :"y x"}"36":"y x""37":"y x""38":"y x""39":"y x""40":"y x""and_ff ... :"y x"}{"36":"y x"}"notes" ... ility.""Chrome ... ility."Chrome 29- and Android 4.0 Browser support "-webkit-hyphens: none", but not the "auto" property. Chrome 30+ doesn't support it either. It is [advisable to set the @lang attribute](http://blog.adrianroselli.com/2015/01/on-use-of-lang-attribute.html) on the HTML element to enable hyphenation support and improve accessibility.Chrome 29- and Android 40 Browser support "-webkit-hyphens: none", but not the "auto" property Chrome 3 doesn't support it either It is [advisable to set the @lang attribute](http://blog.adrianroselli.com/2015/01/on-use-of-lang-attribute.html)http://blog.adrianroselli.com/2015/01/on-use-of-lang-attribute.htmladrianrosellicom/2015/01/on-use-of-lang-attribute on the HTML element to enable hyphenation support and improve accessibility"usage_perc_y":32.23"usage_perc_a":4.25"keywor ... en,shy"hyphen,shy"css-tr ... id":""}css-transitions"title" ... itions"CSS3 Transitions"Simple ... ement."Simple method of animating certain properties of an element.Simple method of animating certain properties of an element"spec": ... tions/"http://www.w3.org/TR/css3-transitions/org/TR/css3-transitions/"url":" ... s-101/""http:/ ... s-101/"http://www.webdesignerdepot.com/2010/01/css-transitions-101/webdesignerdepotcom/2010/01/css-transitions-101/Article on usagehttp://www.css3files.com/transition/com/transition/{"url": ... tions"}"url":" ... ction/""http:/ ... ction/"http://www.the-art-of-web.com/css/timing-function/the-art-of-webcom/css/timing-function/"title" ... ctions""Exampl ... ctions"Examples on timing functions{"url": ... Opera"}http://www.opera.com/docs/specs/presto2.12/css/transitions/com/docs/specs/presto212/css/transitions/"title" ...  Opera""Animat ...  Opera"Animation of property types support in Operahttp://docs.webplatform.org/wiki/css/properties/transitionorg/wiki/css/properties/transition"notes" ... onEnd`""Suppor ... onEnd`"Support listed is for `transition` properties as well as the `transitionend` event. The prefixed name in WebKit browsers is `webkitTransitionEnd`Support listed is for `transition` properties as well as the `transitionend` event The prefixed name in WebKit browsers is `webkitTransitionEnd`"usage_perc_y":90.12"keywor ... ionend""css tr ... ionend"css transition,transitionend"font-f ... id":""}font-feature"title" ... ttings""Font f ... ttings"Font feature settings"descri ... fonts.""Method ... fonts."Method of applying advanced typographic and language-specific font features to supported OpenType fonts.Method of applying advanced typographic and language-specific font features to supported OpenType fonts"spec": ... -props""http:/ ... -props"http://w3.org/TR/css3-fonts/#font-rend-propshttp://w3org/TR/css3-fonts/#font-rend-props{"url": ... only)"}"url":" ... ntype/""http:/ ... ntype/"http://ie.microsoft.com/testdrive/Graphics/opentype/com/testdrive/Graphics/opentype/"title" ...  only)""Demo p ...  only)"Demo pages (IE/Firefox only)Demo pages (IE/Firefox only)IE/Firefox only"url":" ... pport/""http:/ ... pport/"http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/org/2010/11/firefox-4-font-feature-support/"url":" ... y.com/""http:/ ... y.com/"http://html5accessibility.com/http://html5accessibilityDetailed tables on accessability support"url":" ... ttings""http:/ ... ttings"http://docs.webplatform.org/wiki/css/properties/font-feature-settingsorg/wiki/css/properties/font-feature-settings"chrome ... :"y x"}{"4":"n ... :"y x"}"41":"y x""42":"y x""43":"y x""44":"y x""opera" ... :"y x"}{"9":"n ... :"y x"}"androi ... :"y x"}{"2.1": ... :"y x"}{"7":"n","10":"y x"}"op_mob ... :"y x"}{"10":" ... :"y x"}"and_ch ... :"y x"}{"41":"y x"}"notes" ... OS X. ""Partia ... OS X. "Partial support in older Firefox versions refers to using an older syntax. Partial support in older Chrome versions refers to lacking support in Mac OS X. Partial support in older Firefox versions refers to using an older syntax Partial support in older Chrome versions refers to lacking support in Mac OS X"usage_perc_y":74.95"usage_perc_a":1.02"keywor ... atures""font-f ... atures"font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures"css-an ... id":""}css-animationCSS3 Animation"descri ... lement""Comple ... lement"Complex method of animating certain properties of an elementhttp://www.w3.org/TR/css3-animations/org/TR/css3-animations/http://robertnyman.com/2010/05/06/css3-animations/http://robertnymancom/2010/05/06/css3-animations/"url":" ... ation/""http:/ ... ation/"http://www.css3files.com/animation/com/animation/"url":" ... ations""http:/ ... ations"http://docs.webplatform.org/wiki/css/properties/animationsorg/wiki/css/properties/animations"notes" ... arios.""Partia ... arios."Partial support in Android browser refers to buggy behavior in different scenarios.Partial support in Android browser refers to buggy behavior in different scenarios"usage_perc_y":89.92"usage_perc_a":0.11"keywor ... frames""animat ... frames"animations,css-animations,keyframe,keyframes"css-gr ... 64256"}css-gradients{"title ... 64256"}"title" ... dients"CSS Gradients"descri ... image.""Method ... image."Method of defining a linear or radial color gradient as a CSS image.Method of defining a linear or radial color gradient as a CSS image"spec": ... mages/""http:/ ... mages/"http://www.w3.org/TR/css3-images/org/TR/css3-images/"url":" ... ditor/""http:/ ... ditor/"http://www.colorzilla.com/gradient-editor/colorzillacom/gradient-editor/"Cross- ... editor"Cross-browser editor"url":" ... dient/""http:/ ... dient/"http://www.css3files.com/gradient/com/gradient/"Tool t ...  in IE"Tool to emulate support in IE"url":" ... adient""http:/ ... adient"http://docs.webplatform.org/wiki/css/functions/linear-gradientorg/wiki/css/functions/linear-gradient"notes" ... yntax.""Syntax ... yntax."Syntax used by browsers with prefixed support may be incompatible with that for proper support. 

Partial support in Opera 11.10 and 11.50 also refers to only having support for linear gradients.

Support can be somewhat emulated in older IE versions using the non-standard "gradient" filter. 

Firefox 10+, Opera 11.6+, Chrome 26+ and IE10+ also support the new "to (side)" syntax.Syntax used by browsers with prefixed support may be incompatible with that for proper support 

Partial support in Opera 1110 and 1150 also refers to only having support for linear gradients

Support can be somewhat emulated in older IE versions using the non-standard "gradient" filter 

Firefox 1, Opera 116+, Chrome 2 and IE1 also support the new "to (side)side" syntax"usage_perc_y":89.71"usage_perc_a":0.45"keywor ... adiant""linear ... adiant"linear,linear-gradient,gradiant"ie_id":"gradients""chrome ... 264256"5785905063264256"css-ca ... id":""}css-canvas"title" ... awings""CSS Ca ... awings"CSS Canvas Drawings"descri ... ation.""Method ... ation."Method of using HTML5 Canvas as a background image. Not currently part of any specification.Method of using HTML5 Canvas as a background image Not currently part of any specification"spec": ... awing/""http:/ ... awing/"http://webkit.org/blog/176/css-canvas-drawing/http://webkitorg/blog/176/css-canvas-drawing/"url":" ... awing/"Webkit blog post"firefo ... 0":"u"}{"2":"n ... 0":"u"}"38":"u""39":"u""40":"u"{"4":"y ... :"y x"}"notes" ... operty""A simi ... operty"A similar effect can be achieved in Firefox 4+ using the -moz-element() background propertyA similar effect can be achieved in Firefox 4+ using the -moz-element background property"usage_perc_y":67.57"css-re ... 57568"}css-reflections{"title ... 57568"}CSS Reflections"Method ... lement"Method of displaying a reflection of an elementhttp://webkit.org/blog/182/css-reflections/org/blog/182/css-reflections/"Simila ... operty"Similar effect can be achieved in Firefox 4+ using the -moz-element() background propertySimilar effect can be achieved in Firefox "usage_perc_y":63.32"keywor ... eflect"box-reflect"chrome ... 957568"5627300510957568"css-ma ... 49632"}css-masks{"title ... 49632"}"title":"CSS Masks"CSS Masks"descri ... a mask""Method ... a mask"Method of displaying part of an element, using a selected image as a mask"spec": ... sking/""http:/ ... sking/"http://www.w3.org/TR/css-masking/org/TR/css-masking/"url":" ... s/mask""http:/ ... s/mask"http://docs.webplatform.org/wiki/css/properties/maskorg/wiki/css/properties/mask"url":" ... adobe/""http:/ ... adobe/"http://www.html5rocks.com/en/tutorials/masking/adobe/html5rockscom/en/tutorials/masking/adobe/HTML5 Rocks article"url":" ... asking""http:/ ... asking"http://thenittygritty.co/css-maskinghttp://thenittygrittyco/css-maskingDetailed blog post{"2":"n ... 0":"a"}"3.5":"a""3.6":"a""notes" ... #foo).""Partia ... #foo)."Partial support in WebKit/Blink browsers refers to supporting the mask-image and mask-box-image properties, but lacks support for other parts of the spec. Partial support in Firefox refers to only support for inline SVG mask elements i.e. mask: url(#foo).Partial support in WebKit/Blink browsers refers to supporting the mask-image and mask-box-image properties, but lacks support for other parts of the spec Partial support in Firefox refers to only support for inline SVG mask elements i mask: url(#foo)#foo"usage_perc_y":0"usage_perc_a":79.91"ie_id":"masks"masks"chrome ... 149632"5381559662149632"svg":{ ... id":""}"SVG (b ... pport)"SVG (basic support)SVG "descri ...  spec.""Method ...  spec."Method of displaying basic Vector Graphics features using the embed or object elements. Refers to the SVG 1.1 spec.Method of displaying basic Vector Graphics features using the embed or object elements Refers to the SVG 11 spec"spec": ... R/SVG/""http:/ ... R/SVG/"http://www.w3.org/TR/SVG/org/TR/SVG/http://en.wikipedia.org/wiki/Scalable_Vector_Graphicsorg/wiki/Scalable_Vector_Graphics"url":" ... part-i""http:/ ... part-i"http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-ialistapartcom/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i"A List ... rticle"A List Apart article"url":" ... w.org/""http:/ ... w.org/"http://svg-wow.org/http://svg-woworg/"title" ... e site"SVG showcase site"url":" ... vgweb/""http:/ ... vgweb/"http://code.google.com/p/svgweb/com/p/svgweb/"title" ... lyfill""SVG We ... lyfill"SVG Web: Flash-based polyfill"url":" ... de.com""http:/ ... de.com"http://svg-edit.googlecode.comhttp://svg-editgooglecode"Web-ba ... editor"Web-based SVG editor"url":" ... js#svg""https: ... js#svg"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svgjs/master/detect/graphicsjs#svg"categories":["SVG"]"ie":{" ... "y #2"}{"5.5": ... "y #2"}"9":"y #2"y #2"10":"y #2""11":"y #2""TP":"y #2""4.1":"a #1""4.2-4.3":"a #1""ie_mob ... "y #2"}{"10":" ... "y #2"}"notes_ ... ound."}{"1":"P ... ound."}"1":"Pa ... sking.""Partia ... sking."Partial support in Android 3 & 4 refers to not supporting masking.Partial support in Android 3 & 4 refers to not supporting masking"2":"IE ... round.""IE9-11 ... round."IE9-11 desktop & mobile don't properly scale SVG files.  [Adding height, width, viewBox, and CSS rules](http://codepen.io/tomByrer/pen/qEBbzw?editors=110) seem to be the best workaround.IE9-11 desktop & mobile don't properly scale SVG files[Adding height, width, viewBox, and CSS rules](http://codepen.io/tomByrer/pen/qEBbzw?editors=110)http://codepen.io/tomByrer/pen/qEBbzw?editors=110http://codepenio/tomByrer/pen/qEBbzw?editors=110 seem to be the best workaround"usage_perc_y":92.14"usage_perc_a":2.49"svg-cs ... id":""}svg-css"SVG in ... rounds"SVG in CSS backgrounds"descri ... rounds""Method ... rounds"Method of using SVG images as CSS backgroundshttp://www.w3.org/TR/css3-background/#background-imageorg/TR/css3-background/#background-image"links" ... ects"}][{"url" ... ects"}]"url":" ... ients/""http:/ ... ients/"http://www.sitepoint.com/a-farewell-to-css3-gradients/com/a-farewell-to-css3-gradients/"Tutori ... ffects"Tutorial for advanced effects"catego ... ,"SVG"]["CSS3","SVG"]"notes" ... perty.""Partia ... perty."Partial support in older Firefox and Opera Mini/Mobile refers to SVG images being blurry when scaled. Partial support in iOS Safari and older Safari versions refers to failing to support tiling or the background-position property.Partial support in older Firefox and Opera Mini/Mobile refers to SVG images being blurry when scaled Partial support in iOS Safari and older Safari versions refers to failing to support tiling or the background-position property"usage_perc_y":90.99"usage_perc_a":3.48"keywor ... ss-svg""svg-in ... ss-svg"svg-in-css,svgincss,css-svg"svg-sm ... id":""}svg-smilSVG SMIL animation"descri ... images""Method ... images"Method of using animation elements to animate SVG imageshttp://www.w3.org/TR/SVG/animate.htmlorg/TR/SVG/animate"links" ...  SVG"}][{"url" ...  SVG"}]{"url": ... G WOW"}http://svg-wow.org/blog/category/animation/org/blog/category/animation/"title" ... VG WOW""Exampl ... VG WOW"Examples on SVG WOW"url":" ... h_SMIL""https: ... h_SMIL"https://developer.mozilla.org/en/SVG/SVG_animation_with_SMILorg/en/SVG/SVG_animation_with_SMIL{"url": ... n SVG"}"url":" ... smile/""http:/ ... smile/"http://leunen.me/fakesmile/http://leunenme/fakesmile/"title" ... in SVG""JS lib ... in SVG"JS library to support SMIL in SVG"url":" ... g-smil""https: ... g-smil"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg-smiljs#svg-smil"url":" ... stener""https: ... stener"https://github.com/madsgraphics/SVGEventListenercom/madsgraphics/SVGEventListener"title" ... on SVG""Polyfi ... on SVG"Polyfill for SMIL animate events on SVG"ie":{" ... P":"p"}{"5.5": ... P":"p"}"TP":"p""ie_mob ... 1":"p"}{"10":"p","11":"p"}"notes" ... mages.""Partia ... mages."Partial support in older Safari versions refers to not working in HTML files or CSS background images.Partial support in older Safari versions refers to not working in HTML files or CSS background images"usage_perc_y":79.5"usage_perc_a":0.56"ie_id" ... mation"svgsmilanimation"svg-fo ... 10688"}svg-fonts{"title ... 10688"}"title":"SVG fonts"SVG fonts"descri ... moved.""Method ... moved."Method of using fonts defined as SVG shapes. Considered among a number of browser vendors as a deprecated feature with support being removed.Method of using fonts defined as SVG shapes Considered among a number of browser vendors as a deprecated feature with support being removedhttp://www.w3.org/TR/SVG/fonts.htmlorg/TR/SVG/fonts"links" ... iPad"}][{"url" ... iPad"}]"url":" ... ferent""http:/ ... ferent"http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-differenthttp://jeremiepatonniernet/post/2011/02/07/Why-are-SVG-Fonts-so-different{"url": ...  iPad"}"url":" ... afari/""http:/ ... afari/"http://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safari/http://opentypeinfo/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safari/"title" ... r iPad""Blog p ... r iPad"Blog post on usage for iPad"chrome ... "n #1"}{"4":"y ... "n #1"}"38":"n #1"n #1"39":"n #1""40":"n #1""41":"n #1""42":"n #1""43":"n #1""44":"n #1""opera" ... "n #1"}{"9":"y ... "n #1"}"25":"n #1""26":"n #1""27":"n #1""28":"n #1""29":"n #1""op_min ... "n #2"}{"5.0-8.0":"n #2"}"5.0-8.0":"n #2"n #2"and_ch ... "n #1"}{"41":"n #1"}"notes_ ... HTML."}{"1":"C ... HTML."}"1":"Ch ... nd XP.""Chrome ... nd XP."Chrome 38 and newer support SVG fonts only on Windows Vista and XP.Chrome 38 and newer support SVG fonts only on Windows Vista and XP"2":"Su ...  HTML.""Suppor ...  HTML."Supported in Opera Mini in SVG images only, not in HTML.Supported in Opera Mini in SVG images only, not in HTML"usage_perc_y":26.28"chrome ... 210688"5930075908210688"svg-fi ... id":""}svg-filters"title" ... ilters"SVG filtersMethod of using photoshop-like effects on SVG objects including blurring and color manipulation.Method of using photoshop-like effects on SVG objects including blurring and color manipulationhttp://www.w3.org/TR/SVG/filters.htmlorg/TR/SVG/filters"url":" ... ?p=950""http:/ ... ?p=950"http://electricbeach.org/?p=950http://electricbeach/?p=950"Experi ... ffects"Experiments with filter effects"url":" ... lters/""http:/ ... lters/"http://svg-wow.org/blog/category/filters/org/blog/category/filters/SVG filter demos"url":" ... filter""http:/ ... filter"http://docs.webplatform.org/wiki/svg/elements/filterorg/wiki/svg/elements/filter{"7":"n","10":"y"}"usage_perc_y":89.82"svg-ht ... id":""}svg-html"title" ... r HTML""SVG ef ... r HTML"SVG effects for HTMLMethod of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element"http:/ ... lement"http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElementorg/TR/SVG11/extendhtml#ForeignObjectElement"links" ... raft"}][{"url" ... raft"}]"url":" ... in_SVG""https: ... in_SVG"https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVGorg/en/SVG/Tutorial/Other_content_in_SVGMDN Tutorial"https: ... ontent"https://developer.mozilla.org/En/Applying_SVG_effects_to_HTML_contentorg/En/Applying_SVG_effects_to_HTML_content"title" ... e page"MDN Reference page{"url": ... draft"}"url":" ... fects/""http:/ ... fects/"http://www.w3.org/TR/filter-effects/org/TR/filter-effects/"title" ...  draft""Filter ...  draft"Filter Effects draft{"9":"a ... 9":"a"}"notes" ... ethod.""Partia ... ethod."Partial support refers to lack of filter support or buggy result from effects. A [CSS Filter Effects](http://www.w3.org/TR/filter-effects/) specification is in the works that would replace this method.Partial support refers to lack of filter support or buggy result from effects A [CSS Filter Effects]F(http://www.w3.org/TR/filter-effects/) specification is in the works that would replace this method"usage_perc_y":12.34"usage_perc_a":71.95svg-html5"title" ...  HTML5""Inline ...  HTML5"Inline SVG in HTML5"descri ... arser.""Method ... arser."Method of using SVG tags directly in HTML documents. Requires HTML5 parser.Method of using SVG tags directly in HTML documents Requires HTML5 parser"spec": ... #svg-0""https: ... #svg-0"https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0html#svg-0http://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-speed-and-more/org/2010/05/firefox-4-the-html5-parser-inline-svg-speed-and-more/Mozilla Hacks blog post"url":" ... ts_001""http:/ ... ts_001"http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?url=SVG_HTML_Elements_001http://samplesmsdncom/ietestcenter/html5/svghtml_harnesshtm?url=SVG_HTML_Elements_001"title":"Test suite"Test suite["HTML5","SVG"]"5":"p""4.0-4.1":"p""4.2-4.3":"p""usage_perc_y":94.16"canvas ... 38976"}{"title ... 38976"}"Canvas ... pport)"Canvas (basic support)Canvas Method of generating fast, dynamic graphics using JavaScript.Method of generating fast, dynamic graphics using JavaScripthttps://html.spec.whatwg.org/multipage/scripting.html#the-canvas-elementorg/multipage/scriptinghtml#the-canvas-element{"url": ... zilla"}"url":" ... torial""https: ... torial"https://developer.mozilla.org/en/Canvas_tutorialorg/en/Canvas_tutorial"title" ... ozilla""Tutori ... ozilla"Tutorial by Mozilla"url":" ... s.com/""http:/ ... s.com/"http://www.canvasdemos.com/canvasdemosShowcase site{"url": ...  kit "}http://glimr.rubyforge.org/cake/canvas.htmlhttp://glimrrubyforgeorg/cake/canvas"title" ... n kit "Animation kit http://diveintohtml5.info/canvas.htmlinfo/canvasAnother tutorial{"url": ... lorer"}http://explorercanvas.googlecode.com/http://explorercanvas"title" ... plorer""Implem ... plorer"Implementation for Internet Explorerhttps://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvasjs#canvas"notes" ... 841830""Opera  ... 841830"Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications. Android 2.x supports canvas except the toDataURL() function. See http://code.google.com/p/android/issues/detail?id=7901 Some (slow) workarounds are described here: http://stackoverflow.com/q/10488033/841830Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications Android 2x supports canvas except the toDataURL function See http://codecom/p/android/issues/detaiid=7901 Some (slow)slow workarounds are described here: http://stackoverflowcom/q/10488033/841830"usage_perc_a":2.9"ie_id":"canvas""chrome ... 438976"5100084685438976"canvas ... id":""}canvas-text"title" ... Canvas""Text A ... Canvas"Text API for CanvasMethod of displaying text on Canvas elements"spec": ... bitmap""https: ... bitmap"https://html.spec.whatwg.org/multipage/scripting.html#drawing-text-to-the-bitmaphtml#drawing-text-to-the-bitmap"url":" ... amples""https: ... amples"https://developer.mozilla.org/en/Drawing_text_using_a_canvas#Additional_examplesorg/en/Drawing_text_using_a_canvas#Additional_examples"Exampl ... ozilla"Examples by Mozilla{"url": ... brary"}"url":" ... -text/""http:/ ... -text/"http://code.google.com/p/canvas-text/com/p/canvas-text/"title" ... ibrary"Support library"url":" ... s-text""https: ... s-text"https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas-textjs#canvas-text"url":" ... llText""http:/ ... llText"http://docs.webplatform.org/wiki/apis/canvas/CanvasRenderingContext2D/fillTextorg/wiki/apis/canvas/CanvasRenderingContext2D/fillText"parent":"canvas""nameva ... 46912"}namevalue-storage{"title ... 46912"}"title" ...  pairs""Web St ...  pairs"Web Storage - name/value pairs"descri ... TML5).""Method ... TML5)."Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5)sessionStorage and localStorage, used to fall under HTML5"spec": ... torage""http:/ ... torage"http://www.w3.org/TR/webstorage/#storageorg/TR/webstorage/#storage"url":" ... ge_API""https: ... ge_API"https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_APIorg/en-US/docs/Web/API/Web_Storage_API"url":" ... orage/""http:/ ... orage/"http://code.google.com/p/sessionstorage/com/p/sessionstorage/"url":" ... torage"http://html5demos.com/storagecom/storage"https: ... torage"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-localstorage;native-sessionstoragejs/master/detect/featuresjs#native-localstorage;native-sessionstoragehttp://docs.webplatform.org/wiki/apis/web-storage/Storage/localStorageorg/wiki/apis/web-storage/Storage/localStorage"usage_perc_y":94.18"usage_perc_a":0.06"keywor ... torage""websto ... torage"webstorage,local storage"ie_id":"webstorage""chrome ... 246912"5345825534246912"sql-st ... 34208"}sql-storage{"title ... 34208"}"title" ... tabase"Web SQL Database"descri ... lation""Method ... lation"Method of storing data client-side, allows Sqlite database queries for access and manipulation"spec": ... abase/""http:/ ... abase/"http://www.w3.org/TR/webdatabase/org/TR/webdatabase/"url":" ... bases/""http:/ ... bases/"http://html5doctor.com/introducing-web-sql-databases/com/introducing-web-sql-databases/"url":" ... sql-db""https: ... sql-db"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-sql-dbjs#native-sql-db"notes" ... sions.""The We ... sions."The Web SQL Database specification is no longer being maintained and support may be dropped in future versions.The Web SQL Database specification is no longer being maintained and support may be dropped in future versions"usage_perc_y":67.89"keywor ... websql"db-storage,websql"ie_id" ... tabase"websqldatabase"chrome ... 734208"6330987952734208"indexe ... 92256"}indexeddb{"title ... 92256"}"title":"IndexedDB"IndexedDB"descri ... eries.""Method ... eries."Method of storing data client-side, allows indexed database queries.Method of storing data client-side, allows indexed database queries"spec": ... xedDB/""http:/ ... xedDB/"http://www.w3.org/TR/IndexedDB/org/TR/IndexedDB/"url":" ... abase/"http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/org/2010/06/comparing-indexeddb-and-webdatabase/Mozilla Hacks article{"url": ... ebSQL"}"url":" ... DBShim""https: ... DBShim"https://github.com/axemclion/IndexedDBShimcom/axemclion/IndexedDBShim"title" ... WebSQL""Polyfi ... WebSQL"Polyfill for browsers supporting WebSQL"url":" ... exeddb""https: ... exeddb"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-indexeddbjs#native-indexeddb"url":" ... exedDB""http:/ ... exedDB"http://docs.webplatform.org/wiki/apis/indexedDBorg/wiki/apis/indexedDB"stats" ... ":"p"}}{"ie":{ ... ":"p"}}"ie":{" ... "a #1"}{"5.5": ... "a #1"}"TP":"a #1""safari ... "a #2"}{"3.1": ... "a #2"}"5.1":"p""6.1":"p""7.1":"a #2""8":"a #2""12.1":"p""ios_sa ... "a #2"}{"3.2": ... "a #2"}"5.0-5.1":"p""6.0-6.1":"p""7.0-7.1":"p""8.1-8.3":"a #2""2.1":"p""2.2":"p""2.3":"p""4.1":"p"{"7":"p","10":"y"}"ie_mob ... "a #1"}{"10":" ... "a #1"}"and_uc":{"9.9":"p"}{"9.9":"p"}"9.9":"p""notes_ ... Bad)."}{"1":"P ... Bad)."}"1":"Pa ... tymi).""Partia ... tymi)."Partial support in IE 10 & 11 refers to a number of subfeatures [not being supported](http://codepen.io/cemerick/pen/Itymi).Partial support in IE 10 & 11 refers to a number of subfeatures [not being supported](http://codepen.io/cemerick/pen/Itymi)http://codepen.io/cemerick/pen/Itymiio/cemerick/pen/Itymi"2":"Pa ... -Bad).""Partia ... -Bad)."Partial support in iOS 8 refers to [seriously buggy behavior](http://www.raymondcamden.com/2014/9/25/IndexedDB-on-iOS-8--Broken-Bad).Partial support in iOS 8 refers to [seriously buggy behavior](http://www.raymondcamden.com/2014/9/25/IndexedDB-on-iOS-8--Broken-Bad)http://www.raymondcamden.com/2014/9/25/IndexedDB-on-iOS-8--Broken-Badraymondcamdencom/2014/9/25/IndexedDB-on-iOS-8--Broken-Bad"usage_perc_y":61.41"usage_perc_a":18.45"keywords":"indexdb"indexdb"ie_id":"indexeddb""chrome ... 992256"6507459568992256"online ... id":""}online-status"title" ... status""Online ... status"Online/offline status"descri ... tatus.""Events ... tatus."Events to indicate when the user's connected (`online` and `offline` events) and the `navigator.onLine` property to see current status.Events to indicate when the user's connected (`online` and `offline` events)`online` and `offline` events and the `navigatoronLine` property to see current status"spec": ... -state""https: ... -state"https://html.spec.whatwg.org/multipage/browsers.html#browser-statehtml#browser-state"links" ... icle"}][{"url" ... icle"}]"url":" ... cation"https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine.onLine#Specificationorg/en-US/docs/Web/API/NavigatorOnLineonLine#Specification"stats" ... a #1"}}{"ie":{ ... a #1"}}"firefo ... "a #3"}{"2":"n ... "a #3"}"15":"a #3""16":"a #3""17":"a #3""18":"a #3""19":"a #3""20":"a #3""21":"a #3""22":"a #3""23":"a #3""24":"a #3""25":"a #3""26":"a #3""27":"a #3""28":"a #3""29":"a #3""30":"a #3""31":"a #3""32":"a #3""33":"a #3""34":"a #3""35":"a #3""36":"a #3""37":"a #3""38":"a #3""39":"a #3""40":"a #3""3.2":"u""4.0-4.1":"u""2.1":"u""2.2":"u"{"7":"a ... 0":"y"}"and_uc ... "a #1"}{"9.9":"a #1"}"9.9":"a #1""notes" ... nLine`""\"onli ... nLine`""online" does not always mean connection to the internet, it can also just mean connection to some network.

Early versions of Chrome and Safari always reported "true" for `navigator.onLine`"online" does not always mean connection to the internet, it can also just mean connection to some network

Early versions of Chrome and Safari always reported "true" for `navigatoronLine`"notes_ ... ails."}{"0":"S ... ails."}"0":"Sa ... .body`""Safari ... .body`"Safari 7.0 supports only the event listener on `window`, and not on `document.body`Safari 70 supports only the event listener on `window`, and not on `documentbody`"1":"Se ... vents.""Seems  ... vents."Seems to support `navigator.onLine` but not `online`/`offline` events.Seems to support `navigatoronLine` but not `online`/`offline` events"2":"IE ... ndow`.""IE8 on ... ndow`."IE8 only supports the `online`/`offline` events on `document.body`, rather than `window`.IE8 only supports the `online`/`offline` events on `documentbody`, rather than `window`"3":"De ... tails.""Deskto ... tails."Desktop Firefox responds to the status of its "Work Offline" mode. If not in that mode, `navigator.onLine` is always `true`, regardless of the actual network connectivity status. [See bug](https://bugzilla.mozilla.org/show_bug.cgi?id=654579) for details.Desktop Firefox responds to the status of its "Work Offline" mode If not in that mode, `navigatoronLine` is always `true`, regardless of the actual network connectivity status[See bug](https://bugzilla.mozilla.org/show_bug.cgi?id=654579)https://bugzilla.mozilla.org/show_bug.cgi?id=654579https://bugzillaorg/show_bugcgi?id=654579 for details"usage_perc_y":74.83"usage_perc_a":18.99"events ... 85856"}eventsource{"title ... 85856"}"title" ... events"Server-sent events"descri ... HTML5)""Method ... HTML5)"Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)EventSource interface, used to fall under HTML5"spec": ... ource/""http:/ ... ource/"http://www.w3.org/TR/eventsource/org/TR/eventsource/"status":"pr""url":" ... asics/""http:/ ... asics/"http://www.html5rocks.com/tutorials/eventsource/basics/com/tutorials/eventsource/basics/"HTML5  ... torial"HTML5 Rocks tutorial"url":" ... h.html""http:/ ... h.html"http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-with.htmlhttp://samshullblogspotcom/2010/10/ajax-push-in-ios-safari-and-chrome-with"title" ... h demo""Blog p ... h demo"Blog post with demo"url":" ... source""https: ... source"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-eventsourcejs#native-eventsource"url":" ... Source""https: ... Source"https://github.com/Yaffle/EventSourcecom/Yaffle/EventSource"usage_perc_y":77.42"usage_perc_a":0.05"keywor ... events""server ... events"serversent,s-sent-events"ie_id" ... source""server ... source"serversenteventseventsource"chrome ... 785856"5311740673785856"x-doc- ... 08928"}x-doc-messaging{"title ... 08928"}"title" ... saging""Cross- ... saging"Cross-document messaging"descri ... ssage)""Method ... ssage)"Method of sending information from a page on one domain to a page on a different one (using postMessage)Method of sending information from a page on one domain to a page on a different one (using postMessage)using postMessage"spec": ... ssages""https: ... ssages"https://html.spec.whatwg.org/multipage/comms.html#crossDocumentMessagesorg/multipage/commshtml#crossDocumentMessages"url":" ... essage""https: ... essage"https://developer.mozilla.org/en/DOM/window.postMessage"url":" ... ssage2""http:/ ... ssage2"http://html5demos.com/postmessage2com/postmessage2"url":" ... saging""https: ... saging"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-crosswindowmessagingjs#native-crosswindowmessaging"http:/ ... essage"http://docs.webplatform.org/wiki/apis/web-messaging/MessagePort/postMessageorg/wiki/apis/web-messaging/MessagePort/postMessage"notes" ... -ie10)""Partia ... -ie10)"Partial support in IE8-9 refers to only working in frames/iframes (not other tabs/windows). Also in IE 9 and below an object cannot be sent using postMessage. Partial support in IE10-11 refers to [limitations in certain conditions](http://stackoverflow.com/questions/16226924/is-cross-origin-postmessage-broken-in-ie10)Partial support in IE8-9 refers to only working in frames/iframes (not other tabs/windows)not other tabs/windows Also in IE 9 and below an object cannot be sent using postMessage Partial support in IE10-11 refers to [limitations in certain conditions](http://stackoverflow.com/questions/16226924/is-cross-origin-postmessage-broken-in-ie10)http://stackoverflow.com/questions/16226924/is-cross-origin-postmessage-broken-in-ie10http://stackoverflowcom/questions/16226924/is-cross-origin-postmessage-broken-in-ie10"usage_perc_y":83.08"usage_perc_a":13.96"ie_id" ... essage"postmessage"chrome ... 708928"4786174115708928"dataur ... id":""}datauri"title":"Data URIs"Data URIs"descri ... f text""Method ... f text"Method of embedding images and other files in webpages as a string of text"spec": ... 97.txt""http:/ ... 97.txt"http://www.ietf.org/rfc/rfc2397.txtietforg/rfc/rfc2397txt"links" ... sues"}][{"url" ... sues"}]"url":" ... -uris/""http:/ ... -uris/"http://css-tricks.com/data-uris/com/data-uris/"url":" ... scheme""http:/ ... scheme"http://en.wikipedia.org/wiki/data_URI_schemeorg/wiki/data_URI_scheme{"url": ... erter"}"url":" ... mages/"http://www.websiteoptimization.com/speed/tweak/inline-images/websiteoptimizationcom/speed/tweak/inline-images/"title" ... verter"Data URL converter{"url": ... ssues"}"url":" ... ng.pdf""http:/ ... ng.pdf"http://klevjers.com/papers/phishing.pdfhttp://klevjerscom/papers/phishingpdf"title" ... issues""Inform ... issues"Information on security issues"notes" ... o 4GB.""Suppor ... o 4GB."Support in Internet Explorer 8 is limited to images and linked resources like CSS files, not HTML files. Max URI length in IE8 is 32KB. In IE9+ JavaScript files are supported too and the maximum size limit set to 4GB.Support in Internet Explorer 8 is limited to images and linked resources like CSS files, not HTML files Max URI length in IE8 is 32KB In IE JavaScript files are supported too and the maximum size limit set to 4GB"usage_perc_y":83.11"keywor ... base64""data u ... base64"data url,datauris,data uri,dataurl,dataurls,base64"mathml ... 94304"}mathml{"title ... 94304"}"title":"MathML"MathML"descri ... pages.""Specia ... pages."Special tags that allow mathematical formulas and notations to be written on web pages.Special tags that allow mathematical formulas and notations to be written on web pages"spec": ... athML/""http:/ ... athML/"http://www.w3.org/TR/MathML/org/TR/MathML/"links" ... ence"}][{"url" ... ence"}]"url":" ... MathML""http:/ ... MathML"http://en.wikipedia.org/wiki/MathMLorg/wiki/MathML"url":" ... /demo/""http:/ ... /demo/"http://www.mozilla.org/projects/mathml/demo/org/projects/mathml/demo/MathML demos{"url": ... cript"}"url":" ... ax.org""http:/ ... ax.org"http://www.mathjax.orgmathjax"title" ... script""Cross- ... script"Cross-browser support script"url":" ... lement"https://developer.mozilla.org/en/MathML/Elementorg/en/MathML/Element"MDN el ... erence"MDN element reference"chrome ... 4":"p"}{"4":"p ... 4":"p"}"13":"p""14":"p""15":"p""16":"p""17":"p""18":"p""19":"p""20":"p""21":"p""22":"p""23":"p""25":"p""26":"p""27":"p""28":"p""29":"p""30":"p""31":"p""32":"p""33":"p""34":"p""35":"p""36":"p""37":"p""38":"p""39":"p""40":"p""41":"p""42":"p""43":"p""44":"p""opera" ... 9":"p"}{"9":"n ... 9":"p"}"24":"p""op_min ... 0":"p"}{"5.0-8.0":"p"}"5.0-8.0":"p""androi ... 0":"p"}{"2.1": ... 0":"p"}"4.4":"p""4.4.3-4.4.4":"p""op_mob ... 4":"p"}{"10":" ... 4":"p"}"and_chr":{"41":"p"}{"41":"p"}"Opera' ... ility."Opera's support is limited to a CSS profile of MathML. Support was added in Chrome 24, but removed afterwards due to instability.Opera's support is limited to a CSS profile of MathML Support was added in Chrome 24, but removed afterwards due to instability"usage_perc_y":23.21"usage_perc_a":4.58"ie_id":"mathml""chrome ... 794304"5240822173794304"css-fe ... 58592"}css-featurequeries{"title ... 58592"}"CSS Fe ... ueries"CSS Feature Queries"descri ...  rule.""CSS Fe ...  rule."CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule.CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule"spec": ... pports""http:/ ... pports"http://www.w3.org/TR/css3-conditional/#at-supportsorg/TR/css3-conditional/#at-supports"url":" ... pports""https: ... pports"https://developer.mozilla.org/en-US/docs/Web/CSS/@supportsorg/en-US/docs/Web/CSS/@supportsMDN Article{"url": ... refox"}http://mcc.id.au/blog/2012/08/supportshttp://mccau/blog/2012/08/supports"title" ... irefox""@suppo ... irefox"@supports in Firefox{"url": ...  case"}"url":" ... 895764""http:/ ... 895764"http://dabblet.com/gist/3895764http://dabbletcom/gist/3895764"title":"Test case"Test casehttp://docs.webplatform.org/wiki/css/atrules/@supportsorg/wiki/css/atrules/@supports"notes" ... s-api)""See al ... s-api)"See also the [CSS.supports() DOM API](#feat=css-supports-api)See also the [CSS.supports() DOM API]DMPI(#feat=css-supports-api)#feat=css-supports-api"usage_perc_y":60.96"keywor ... tional""suppor ... tional"supports,conditional"ie_id" ... lrules"conditionalrules"chrome ... 358592"4993981813358592"xhtml" ... id":""}xhtml"title" ... ml+xml""XHTML  ... ml+xml"XHTML served as application/xhtml+xmlXHTML served as application/xhtml+"descri ... guages""A stri ... guages"A strict form of HTML, and allows embedding of other XML languages"spec": ... html1/""http:/ ... html1/"http://www.w3.org/TR/xhtml1/org/TR/xhtml1/"url":" ... /XHTML""http:/ ... /XHTML"http://en.wikipedia.org/wiki/XHTMLorg/wiki/XHTML{"url": ... HTML5"}"url":" ... yglot/""http:/ ... yglot/"http://www.xmlplease.com/xhtml/xhtml5polyglot/xmlpleasecom/xhtml/xhtml5polyglot/"title" ... XHTML5""Inform ... XHTML5"Information on XHTML5"url":" ... TML.3F""http:/ ... TML.3F"http://docs.webplatform.org/wiki/concepts/internet_and_web/the_web_standards_model#What_is_XHTML.3Forg/wiki/concepts/internet_and_web/the_web_standards_model#What_is_XHTML3F"notes" ... e web.""The XH ... e web."The XHTML syntax is very close to HTML, and thus is almost always ([incorrectly](https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPE)) served as text/html on the web.The XHTML syntax is very close to HTML, and thus is almost always ([incorrectly](https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPE))[incorrectly](https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPE)[incorrectly](https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPE)https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPEorg/en-US/docs/XHTML#MIME_type_versus_DOCTYPE served as text/html on the web"keywor ... ml+xml"xhtml+xmlxhtm"xhtmls ... id":""}xhtmlsmil"XHTML+ ... mation"XHTML+SMIL animationXHTML+SMIL animation"descri ...  pages""Method ...  pages"Method of using SMIL animation in web pages"spec": ... sSMIL/""http:/ ... sSMIL/"http://www.w3.org/TR/XHTMLplusSMIL/org/TR/XHTMLplusSMIL/"links" ... SMIL"}][{"url" ... SMIL"}]"url":" ... 2BSMIL""http:/ ... 2BSMIL"http://en.wikipedia.org/wiki/XHTML%2BSMILorg/wiki/XHTML%2BSMIL{"url": ... +SMIL"}"title" ... L+SMIL""JS lib ... L+SMIL"JS library to support XHTML+SMILJS library to support XHTMSMIL"firefo ... 0":"p"}{"2":"p ... 0":"p"}"safari ... 8":"p"}{"3.1": ... 8":"p"}"7.1":"p"{"9":"p ... 9":"p"}"ios_sa ... 3":"p"}{"3.2": ... 3":"p"}"8.1-8.3":"p""bb":{" ... 0":"p"}{"7":"p","10":"p"}"and_ff":{"36":"p"}{"36":"p"}"notes" ... L+SMIL""Intern ... L+SMIL"Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMILInternet Explorer supports the W3C proposal HTMTIME, which is largely the same as XHTM"usage_perc_a":2.51"parent":"xhtml""wai-ar ... id":""}wai-aria"WAI-AR ... atures"WAI-ARIA Accessibility features"descri ... tions.""Method ... tions."Method of providing ways for people with disabilities to use dynamic web content and web applications.Method of providing ways for people with disabilities to use dynamic web content and web applications"spec": ... -aria/""http:/ ... -aria/"http://www.w3.org/TR/wai-aria/org/TR/wai-aria/"links" ... tion"}][{"url" ... tion"}]"url":" ... o/aria""http:/ ... o/aria"http://www.w3.org/WAI/intro/ariaorg/WAI/intro/aria{"url": ... sults"}"url":" ... redux/""http:/ ... redux/"http://www.paciellogroup.com/blog/2011/10/browser-assistive-technology-tests-redux/paciellogroupcom/blog/2011/10/browser-assistive-technology-tests-redux/"title" ... esults""Links  ... esults"Links to various test results"url":" ... I-ARIA""http:/ ... I-ARIA"http://en.wikipedia.org/wiki/WAI-ARIAorg/wiki/WAI-ARIA"url":" ... -aria/"http://www.alistapart.com/articles/the-accessibility-of-wai-aria/com/articles/the-accessibility-of-wai-aria/ALA Article"url":" ... ia-yet""http:/ ... ia-yet"http://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yethttp://zufeltca/blog/are-you-confused-html5-and-wai-aria-yet"HTML5/ ... mation"HTML5/WAI-ARIA information{"2":"a ... 0":"a"}"notes" ... t)\r\n""Suppor ... t)\r\n"Support for ARIA is rather complex and currently is not fully supported in any browser. For detailed information on partial support see the [ARIA 1.0 Implementation Report](http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report)
Support for ARIA is rather complex and currently is not fully supported in any browser For detailed information on partial support see the [ARIA 1.0 Implementation Report](http://www.w3.org/WAI/ARIA/1.0/CR/implementation-report)http://www.w3.org/WAI/ARIA/1.0/CR/implementation-reportorg/WAI/ARIA/10/CR/implementation-report
"usage_perc_a":90.14"keywor ... i,aria"wai,aria"geoloc ... 85568"}{"title ... 85568"}"title" ... cation""descri ... cation""Method ... cation"Method of informing a website of the user's geographical location"spec": ... n-API/""http:/ ... n-API/"http://www.w3.org/TR/geolocation-API/org/TR/geolocation-API/"url":" ... om/geo""http:/ ... om/geo"http://html5demos.com/geocom/geohttps://raw.github.com/phiggins42/has.js/master/detect/features.js#native-geolocationjs#native-geolocation"http:/ ... cation"http://docs.webplatform.org/wiki/apis/geolocationorg/wiki/apis/geolocation"usage_perc_y":91.76"ie_id" ... cation""chrome ... 685568"6348855016685568"flexbo ... 00512"}{"title ... 00512"}"title" ... Module""Flexib ... Module"Flexible Box Layout Module"descri ... tent`.""Method ... tent`."Method of positioning elements in horizontal or vertical stacks. Support includes the support for the all properties prefixed with `flex` as well as `align-content`, `align-items`, `align-self`, and `justify-content`.Method of positioning elements in horizontal or vertical stacks Support includes the support for the all properties prefixed with `flex` as well as `align-content`, `align-items`, `align-self`, and `justify-content`"spec": ... exbox/""http:/ ... exbox/"http://www.w3.org/TR/css3-flexbox/org/TR/css3-flexbox/"links" ... ator"}][{"url" ... ator"}]"url":" ... lorer/""http:/ ... lorer/"http://bennettfeely.com/flexplorer/http://bennettfeelycom/flexplorer/"Flexbo ... erator"Flexbox CSS generator{"url": ...  spec"}"url":" ... c.html""http:/ ... c.html"http://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spec.htmladobecom/devnet/html5/articles/working-with-flexbox-the-new-spec"title" ... t spec""Articl ... t spec"Article on using the latest spec"url":" ... exbox/""https: ... exbox/"https://dev.opera.com/articles/view/advanced-cross-browser-flexbox/com/articles/view/advanced-cross-browser-flexbox/"Tutori ... upport"Tutorial on cross-browser support{"url": ... exbox"}http://philipwalton.github.io/solved-by-flexbox/http://philipwaltonio/solved-by-flexbox/"title" ... lexbox""Exampl ... lexbox"Examples on how to solve common layout problems with flexboxhttp://css-tricks.com/snippets/css/a-guide-to-flexbox/com/snippets/css/a-guide-to-flexbox/"A Comp ... lexbox"A Complete Guide to Flexbox"url":" ... boxes/""http:/ ... boxes/"http://the-echoplex.net/flexyboxes/http://the-echoplexnet/flexyboxes/Flexbox playground and code generator"stats" ... x #1"}}{"ie":{ ... x #1"}}"10":"a x #2""2":"a x #1"a x #1"3":"a x #1""3.5":"a x #1""3.6":"a x #1""4":"a x #1""5":"a x #1""6":"a x #1""7":"a x #1""8":"a x #1""9":"a x #1""10":"a x #1""11":"a x #1""12":"a x #1""13":"a x #1""14":"a x #1""15":"a x #1""16":"a x #1""17":"a x #1""18":"a x #1""19":"a x #1""20":"a x #1""21":"a x #1""3.1":"a x #1""3.2":"a x #1""5.1":"a x #1""4.0-4.1":"a x #1""4.2-4.3":"a x #1""5.0-5.1":"a x #1""6.0-6.1":"a x #1""2.1":"a x #1""2.2":"a x #1""2.3":"a x #1""4.1":"a x #1"{"10":" ... 1":"y"}"and_uc ...  x #1"}{"9.9":"a x #1"}"9.9":"a x #1""notes" ... 322/).""Most p ... 322/)."Most partial support refers to supporting an [older version](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/) of the specification or an [older syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/).Most partial support refers to supporting an [older version](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/)http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/org/TR/2009/WD-css3-flexbox-20090723/ of the specification or an [older syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/)http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/org/TR/2012/WD-css3-flexbox-20120322/"notes_ ... rties"}{"1":"O ... rties"}"1":"On ... pping.""Only s ... pping."Only supports the [old flexbox](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723) specification and does not support wrapping.Only supports the [old flexbox](http://www.w3.org/TR/2009/WD-css3-flexbox-20090723)http://www.w3.org/TR/2009/WD-css3-flexbox-20090723org/TR/2009/WD-css3-flexbox-20090723 specification and does not support wrapping"2":"On ... 0322/)""Only s ... 0322/)"Only supports the [2012 syntax](http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/)[2012 syntax]"3":"Do ... erties""Does n ... erties"Does not support flex-wrap or flex-flow properties"usage_perc_y":82.47"usage_perc_a":10.5"keywor ... -basis""flex-b ... -basis"flex-box,flex-direction,flex-wrap,flex-flow,flex-grow,flex-basis"ie_id":"flexbox""chrome ... 400512"4837301406400512"webgl" ... 23552"}{"title ... 23552"}"title" ... aphics""WebGL  ... aphics"WebGL - 3D Canvas graphics"descri ... rdware""Method ... rdware"Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware"spec": ... s/1.0/""https: ... s/1.0/"https://www.khronos.org/registry/webgl/specs/1.0/https://wwwkhronosorg/registry/webgl/specs/1"links" ... r IE"}][{"url" ... r IE"}]{"url": ... WebGL"}http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementationhttp://khronosorg/webgl/wiki/Getting_a_WebGL_Implementation"title" ...  WebGL""Instru ...  WebGL"Instructions on enabling WebGL"http:/ ... torial"http://www.khronos.org/webgl/wiki/Tutorialorg/webgl/wiki/Tutorial"url":" ... today/""http:/ ... today/"http://hacks.mozilla.org/2009/12/webgl-draft-released-today/org/2009/12/webgl-draft-released-today/Firefox blog post"url":" ... tlies/""http:/ ... tlies/"http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/org/blog/603/webgl-now-available-in-webkit-nightlies/"url":" ... ewebgl""https: ... ewebgl"https://github.com/iewebgl/iewebglcom/iewebgl/iewebgl"catego ... anvas"]["Canvas"]"12":"a #1""13":"a #1""14":"a #1""15":"a #1""16":"a #1""17":"a #1""18":"a #1""19":"a #1""20":"a #1""21":"a #1""22":"a #1""23":"a #1""26":"y #1""27":"y #1""28":"y #1""29":"y #1""30":"y #1""31":"y #1""32":"y #1""5.1":"a #1""6.1":"a #1""7.1":"a #1""12.1":"a #1""notes" ... e W3C.""Suppor ... e W3C."Support listed as "partial" refers to the fact that not all users with these browsers have WebGL access. This is due to the additional requirement for users to have [up to date video drivers](http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists). This problem was [solved in Chrome on Windows](http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-enabling.html) as of version 18.

Note that WebGL is part of the [Khronos Group](http://www.khronos.org/webgl/), not the W3C.Support listed as "partial" refers to the fact that not all users with these browsers have WebGL access This is due to the additional requirement for users to have [up to date video drivers](http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists)http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelistsorg/webgl/wiki/BlacklistsAndWhitelists This problem was [solved in Chrome on Windows]W(http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-enabling.html)http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-enabling.htmlchromiumorg/2012/02/gpu-accelerating-2d-canvas-and-enabling as of version 18

Note that WebGL is part of the [Khronos Group]KG(http://www.khronos.org/webgl/)http://www.khronos.org/webgl/org/webgl/, not the W3C"notes_ ... bgl\""}{"1":"W ... bgl\""}"1":"We ... ebgl\"""WebGL  ... ebgl\""WebGL context is accessed from "experimental-webgl" rather than "webgl""usage_perc_y":53.99"usage_perc_a":26.71"keywords":"web gl"web gl"ie_id" ... ension""webglc ... ension"webglcanvas3d,webglinstancingextension"chrome ... 023552"6049512976023552"fileap ... id":""}"title":"File API"File API"descri ...  data.""Method ...  data."Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data"spec": ... leAPI/""http:/ ... leAPI/"http://www.w3.org/TR/FileAPI/org/TR/FileAPI/"https: ... ations"https://developer.mozilla.org/en/Using_files_from_web_applicationsorg/en/Using_files_from_web_applications"url":" ... s/file""http:/ ... s/file"http://docs.webplatform.org/wiki/apis/fileorg/wiki/apis/file"url":" ... /moxie""https: ... /moxie"https://github.com/moxiecode/moxiecom/moxiecode/moxie"notes" ... port. ""Partia ... port. "Partial support in older Safari and other WebKit browsers refers to lacking FileReader support. Partial support in older Safari and other WebKit browsers refers to lacking FileReader support"usage_perc_y":86.57"usage_perc_a":3.05"keywor ... Reader""shadow ... 72960"}shadowdom{"title ... 72960"}"title":"Shadow DOM"Shadow DOM"descri ... e DOM.""Method ... e DOM."Method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM.Method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM"spec": ... w-dom/""http:/ ... w-dom/"http://www.w3.org/TR/shadow-dom/org/TR/shadow-dom/{"url": ... lizer"}http://html5-demos.appspot.com/static/shadowdom-visualizer/index.htmlhttp://html5-demosappspotcom/static/shadowdom-visualizer/index"title" ... alizer""Shadow ... alizer"Shadow DOM Visualizer"url":" ... owdom/""http:/ ... owdom/"http://www.html5rocks.com/tutorials/webcomponents/shadowdom/com/tutorials/webcomponents/shadowdom/"HTML5R ... rticle"HTML5Rocks - Shadow DOM 101 article"firefo ...  d #1"}{"2":"n ...  d #1"}"29":"n d #1"n d #1"30":"n d #1""31":"n d #1""32":"n d #1""33":"n d #1""34":"n d #1""35":"n d #1""36":"n d #1""37":"n d #1""38":"n d #1""39":"n d #1""40":"n d #1""notes_ ... flag."}{"1":"S ... flag."}"1":"Su ...  flag.""Suppor ...  flag."Supported in Firefox behind the `dom.webcomponents.enabled` flag.Supported in Firefox behind the `domwebcomponentsenabled` flag"usage_perc_y":49.17"keywor ... onents"web components"ie_id" ... efixed""shadow ... efixed"shadowdomunprefixed"chrome ... 072960"4507242028072960"websoc ... 45152"}websockets{"title ... 45152"}"title" ... ockets"Web Sockets"descri ... b apps""Bidire ... b apps"Bidirectional communication technology for web apps"spec": ... ckets/""http:/ ... ckets/"http://www.w3.org/TR/websockets/org/TR/websockets/http://websocket.org/aboutwebsocket.htmlhttp://websocketorg/aboutwebsocket"WebSoc ... mation"WebSockets information{"url": ... tocol"}"url":" ... otocol""http:/ ... otocol"http://updates.html5rocks.com/2011/08/What-s-different-in-the-new-WebSocket-protocolhttp://updatescom/2011/08/What-s-different-in-the-new-WebSocket-protocol"title" ... otocol""Detail ... otocol"Details on newer protocol"url":" ... Socket""http:/ ... Socket"http://en.wikipedia.org/wiki/WebSocketorg/wiki/WebSocket"url":" ... ockets""https: ... ockets"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-websocketsjs#native-websockets"url":" ... socket""http:/ ... socket"http://docs.webplatform.org/wiki/apis/websocketorg/wiki/apis/websocket"6":"a x #2""7":"a x #2""8":"a x #2""9":"a x #2""15":"a #2""6":"a #2""6.1":"a #2""11.1":"a #1""11.5":"a #1""11.6":"a #1""5.0-5.1":"a #1"{"7":"y ... 0":"y"}"notes_ ... ata. "}{"1":"P ... ata. "}"1":"Pa ... ocol).""Partia ... ocol)."Partial support refers to the websockets implementation using an older version of the protocol and/or the implementation being disabled by default (due to security issues with the older protocol).Partial support refers to the websockets implementation using an older version of the protocol and/or the implementation being disabled by default (due to security issues with the older protocol)due to security issues with the older protocol"2":"Pa ... data. ""Partia ... data. "Partial support refers to lacking support for binary data. Partial support refers to lacking support for binary data"usage_perc_y":86.12"usage_perc_a":1.34"ucprefix":true"ie_id":"websocket"websocket"chrome ... 945152"6555138000945152"hidden ... id":""}"title" ... ribute"hidden attribute"descri ... n CSS.""The `h ... n CSS."The `hidden` attribute may be applied to any element, and effectively hides elements similar to `display: none` in CSS.The `hidden` attribute may be applied to any element, and effectively hides elements similar to `display: none` in CSS"spec": ... ribute""https: ... ribute"https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attributehtml#the-hidden-attribute"links" ... bute"}][{"url" ... bute"}]{"url": ... ibute"}"url":" ... hidden""http:/ ... hidden"http://davidwalsh.name/html5-hiddenhttp://davidwalshname/html5-hidden"Articl ... ribute"Article on hidden attribute"notes" ... none`.""The hi ... none`."The hidden state can be easily overridden with a CSS `display` property set to anything other than `none`.The hidden state can be easily overridden with a CSS `display` property set to anything other than `none`"script ... id":""}script-async"title" ... cripts""async  ... cripts"async attribute for external scripts"descri ... first.""The bo ... first."The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first"spec": ... -async""https: ... -async"https://html.spec.whatwg.org/multipage/scripting.html#attr-script-asynchtml#attr-script-async"url":" ... ibutes""https: ... ibutes"https://developer.mozilla.org/en/HTML/Element/script#Attributesorg/en/HTML/Element/script#Attributes{"url": ... "Demo"}http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Default.htmlcom/testdrive/Performance/AsyncScripts/Default"title":"Demo"Demo"url":" ... -async"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-asyncjs/master/detect/scriptjs#script-async"notes" ... ri 5.0""Using  ... ri 5.0"Using script.async = false; to maintain execution order for dynamically-added scripts isn't supported in Safari 5.0Using scriptasync = false; to maintain execution order for dynamically-added scripts isn't supported in Safari 5"usage_perc_y":89.56"usage_perc_a":0.12"cors": ... id":""}"title" ... haring""Cross- ... haring"Cross-Origin Resource Sharing"descri ... omains""Method ... omains"Method of performing XMLHttpRequests across domains"spec": ... /cors/""http:/ ... /cors/"org/TR/cors/"url":" ... -cors/""http:/ ... -cors/"http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/org/2009/07/cross-site-xmlhttprequest-with-cors/{"url": ... y IE8"}http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspxcom/en-us/library/cc288060"title" ... by IE8""Altern ... by IE8"Alternative implementation by IE8{"url": ...  CORS"}"url":" ... aring/""https: ... aring/"https://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing/com/articles/view/dom-access-control-using-cross-origin-resource-sharing/"title" ... g CORS""DOM ac ... g CORS"DOM access using CORS"url":" ... rs-xhr""https: ... rs-xhr"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-cors-xhrjs#native-cors-xhr"notes" ... aspx))""Suppor ... aspx))"Supported somewhat in IE8 and IE9 using the XDomainRequest object (but has [limitations]( http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx))Supported somewhat in IE8 and IE9 using the XDomainRequest object (but has [limitations]( http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx))but has [limitations]( http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx)but has [limitations]( http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx) http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx http://blogscom/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds"usage_perc_y":90.14"usage_perc_a":3.97"calc": ... 32288"}{"title ... 32288"}"title" ...  value""calc() ...  value"calc() as CSS unit value as CSS unit value"descri ...  3em)`""Method ...  3em)`"Method of allowing calculated values for length units, i.e. `width: calc(100% - 3em)`Method of allowing calculated values for length units, i `width: calc(100% - 3em)100% - 3em"spec": ... /#calc""http:/ ... /#calc"http://www.w3.org/TR/css3-values/#calcorg/TR/css3-values/#calc"url":" ... -calc/""http:/ ... -calc/"http://hacks.mozilla.org/2010/06/css3-calc/org/2010/06/css3-calc/"url":" ... z-calc""https: ... z-calc"https://developer.mozilla.org/en/CSS/-moz-calcorg/en/CSS/-moz-calc"url":" ... s/calc""http:/ ... s/calc"http://docs.webplatform.org/wiki/css/functions/calcorg/wiki/css/functions/calc"notes" ... alues.""Suppor ... alues."Support can be somewhat emulated in older versions of IE using the non-standard `expression()` syntax. Partial support in IE9 refers to the browser crashing when used as a `background-position` value. Partial support in Android Browser 4.4 refers to the browser lacking the ability to multiply and divide values.Support can be somewhat emulated in older versions of IE using the non-standard `expression` syntax Partial support in IE9 refers to the browser crashing when used as a `background-position` value Partial support in Android Browser 44 refers to the browser lacking the ability to multiply and divide values"usage_perc_y":78.46"usage_perc_a":5.24"ie_id":"csscalc"csscalc"chrome ... 732288"5765241438732288"ruby": ... id":""}ruby"title" ... tation"Ruby annotation"descri ... aphy).""Method ... aphy)."Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography)primarily used in East Asian typographyhttps://html.spec.whatwg.org/multipage/semantics.html#the-ruby-elementhtml#the-ruby-element"url":" ... ement/""http:/ ... ement/"http://html5doctor.com/ruby-rt-rp-element/com/ruby-rt-rp-element/"url":" ... s/ruby""http:/ ... s/ruby"http://docs.webplatform.org/wiki/html/elements/rubyorg/wiki/html/elements/ruby"url":" ... /1935/""https: ... /1935/"https://addons.mozilla.org/firefox/addon/1935/https://addonsorg/firefox/addon/1935/"Add-on ... irefox"Add-on "XHTML Ruby Support" for Firefox"url":" ... /6812/""https: ... /6812/"https://addons.mozilla.org/firefox/addon/6812/org/firefox/addon/6812/"Addon  ... upport"Addon "HTML Ruby" for Firefox support{"4":"p ... 4":"a"}{"9":"p ... 9":"a"}{"7":"p","10":"a"}"notes" ...  Ruby.""Browse ...  Ruby."Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby.Browsers without native support can still simulate support using CSS Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby"usage_perc_y":0.02"usage_perc_a":81.46"css-op ... id":""}css-opacity"title" ... pacity"CSS3 OpacityMethod of setting the transparency level of an element"url":" ... pacity""http:/ ... pacity"http://www.css3files.com/color/#opacitycom/color/#opacityhttp://docs.webplatform.org/wiki/css/properties/opacityorg/wiki/css/properties/opacity"notes" ... rency.""Transp ... rency."Transparency for elements in IE8 and older can be achieved using the proprietary "filter" property and does not work well with PNG images using alpha transparency.Transparency for elements in IE8 and older can be achieved using the proprietary "filter" property and does not work well with PNG images using alpha transparency"usage_perc_a":2.52"keywor ... ,alpha""transp ... ,alpha"transparent,transparency,alpha"form-v ... 86400"}form-validation{"title ... 86400"}"title" ... dation"Form validationMethod of setting required fields and field types without requiring JavaScript.Method of setting required fields and field types without requiring JavaScript"spec": ... dation""https: ... dation"https://html.spec.whatwg.org/multipage/forms.html#client-side-form-validationhtml#client-side-form-validation"url":" ... quired""http:/ ... quired"http://docs.webplatform.org/wiki/html/attributes/requiredorg/wiki/html/attributes/required"notes" ... ssion.""Partia ... ssion."Partial support in Safari refers to lack of notice when form with required fields is attempted to be submitted. Partial support in IE10 mobile refers to lack of warning when blocking submission.Partial support in Safari refers to lack of notice when form with required fields is attempted to be submitted Partial support in IE10 mobile refers to lack of warning when blocking submission"usage_perc_y":73.36"usage_perc_a":4.5"parent":"forms""chrome ... 486400"6091813840486400"histor ... id":""}"title" ... gement""Sessio ... gement"Session history management"descri ... event.""Method ... event."Method of manipulating the user's browser's session history in JavaScript using `history.pushState`, `history.replaceState` and the `popstate` event.Method of manipulating the user's browser's session history in JavaScript using `historypushState`, `historyreplaceState` and the `popstate` event"spec": ... hstate""https: ... hstate"https://html.spec.whatwg.org/multipage/browsers.html#dom-history-pushstatehtml#dom-history-pushstate"url":" ... gement""http:/ ... gement"http://www.adequatelygood.com/2010/7/Saner-HTML5-History-Managementadequatelygoodcom/2010/7/Saner-HTML5-History-Management"Introd ... gement"Introduction to history management"url":" ... istory""https: ... istory"https://developer.mozilla.org/en/DOM/Manipulating_the_browser_historyorg/en/DOM/Manipulating_the_browser_history"http:/ ... istory"http://html5demos.com/historycom/history{"url": ... fill "}"url":" ... ory.js""https: ... ory.js"https://github.com/browserstate/history.jscom/browserstate/history"title" ... yfill ""Histor ... yfill "History.js polyfill js polyfill "url":" ... -state"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-history-statejs#native-history-statehttp://docs.webplatform.org/wiki/dom/Historyorg/wiki/dom/History"notes" ... seful.""Older  ... seful."Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful.Older iOS versions and Android 44 claim support, but implementation is too buggy to be useful"usage_perc_y":84.25"usage_perc_a":4.71"keywor ... estate""onpush ... estate"onpushstate,onreplacestate"json": ... id":""}"title" ... arsing"JSON parsing"descri ... arse()""Method ... arse()"Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON and JSON"spec": ... x15.12""http:/ ... x15.12"http://es5.github.com/#x15.12http://es5com/#x15"url":" ... e_JSON""https: ... e_JSON"https://developer.mozilla.org/En/Using_native_JSONorg/En/Using_native_JSON{"url": ... port)"}http://www.json.org/js.htmlorg/js"JSON i ... pport)"JSON in JS (includes script w/support)JSON in JS (includes script w/support)includes script w/support"url":" ... s#json""https: ... s#json"https://raw.github.com/phiggins42/has.js/master/detect/json.js#jsonjs/master/detect/jsonjs#json"url":" ... s/json""http:/ ... s/json"http://docs.webplatform.org/wiki/apis/jsonorg/wiki/apis/json"notes" ... n IE8.""Requir ... n IE8."Requires document to be in IE8+ [standards mode](http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx) to work in IE8.Requires document to be in IE8+[standards mode](http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx)http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspxcom/en-us/library/cc288325%28VS to work in IE8"usage_perc_y":96.97"classl ... id":""}classlist"title" ... List )""classL ... List )"classList (DOMTokenList )classList (DOMTokenList )DOMTokenList "descri ... bject.""Method ... bject."Method of easily manipulating classes on elements, using the DOMTokenList object.Method of easily manipulating classes on elements, using the DOMTokenList object"spec": ... sslist""http:/ ... sslist"http://www.w3.org/TR/dom/#dom-element-classlistorg/TR/dom/#dom-element-classlist"url":" ... x-3-6/""http:/ ... x-3-6/"http://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/org/2010/01/classlist-in-firefox-3-6/"url":" ... ist.js""https: ... ist.js"https://github.com/eligrey/classList.jscom/eligrey/classListPolyfill script"url":" ... ssList""http:/ ... ssList"http://docs.webplatform.org/wiki/dom/Element/classListorg/wiki/dom/Element/classList"url":" ... t-api/""http:/ ... t-api/"http://www.sitepoint.com/exploring-classlist-api/com/exploring-classlist-api/SitePoint article{"url": ... sList"}http://aurelio.audero.it/demo/classlist-api-demo.htmlhttp://aurelioauderoit/demo/classlist-api-demo"title" ... ssList""Demo u ... ssList"Demo using classList"https: ... ssList"org/en-US/docs/Web/API/Element"stats" ... 1 #2"}}{"ie":{ ... 1 #2"}}"10":"a #1 #2"a #1 #2"11":"a #1 #2""3.6":"a #2""4":"a #2""5":"a #2""7":"a #2""9":"a #2""12":"a #2""13":"a #2""14":"a #2""16":"a #2""17":"a #2""18":"a #2""19":"a #2""20":"a #2""21":"a #2""22":"a #2""23":"a #2""8":"a #1 #2""9":"a #1 #2""12":"a #1 #2""13":"a #1 #2""14":"a #1 #2""15":"a #1 #2""16":"a #1 #2""17":"a #1 #2""18":"a #1 #2""19":"a #1 #2""20":"a #1 #2""21":"a #1 #2""22":"a #1 #2""5.1":"a #1 #2""6":"a #1 #2""6.1":"a #1 #2""11.5":"a #2""11.6":"a #2""12.1":"a #2""5.0-5.1":"a #1 #2""6.0-6.1":"a #1 #2""3":"a #1 #2""4":"a #1 #2""4.1":"a #1 #2""4.2-4.3":"a #1 #2""7":"a #1 #2""11.1":"a #2""ie_mob ... #1 #2"}{"10":" ... #1 #2"}"and_uc ... #1 #2"}{"9.9":"a #1 #2"}"9.9":"a #1 #2""notes_ ... ethod"}{"1":"P ... ethod"}"1":"Pa ... ments."Partial support refers to not working on SVG elements.Partial support refers to not working on SVG elements"2":"Pa ... method""Partia ... method"Partial support refers to not supporting the second parameter for the `toggle` method"usage_perc_y":70.76"usage_perc_a":19.07"text-o ... id":""}"title" ... erflow"CSS3 Text-overflow"Append ... lement"Append ellipsis when text overflows its containing element"spec": ... rflow0""http:/ ... rflow0"http://www.w3.org/TR/css3-ui/#text-overflow0org/TR/css3-ui/#text-overflow0"url":" ... lipsis""https: ... lipsis"https://github.com/rmorse/AutoEllipsiscom/rmorse/AutoEllipsis"jQuery ... irefox"jQuery polyfill for Firefox"url":" ... erflow""https: ... erflow"https://developer.mozilla.org/En/CSS/Text-overfloworg/En/CSS/Text-overflow"url":" ... /text/""http:/ ... /text/"http://www.css3files.com/text/com/text/https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-text-overflowjs#css-text-overflow"http:/ ... erflow"http://docs.webplatform.org/wiki/css/properties/text-overfloworg/wiki/css/properties/text-overflow"9.5-9.6":"y x""10.0-10.1":"y x""usage_perc_y":97.04"keywor ... lipsis""textov ... lipsis"textoverflow,ellipsis"webm": ... 72352"}webm{"title ... 72352"}"title" ... format"WebM video format"descri ... d VP9.""Multim ... d VP9."Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video. WebM supports the video codec VP8 and VP9.Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video WebM supports the video codec VP8 and VP9"spec": ... t.org/""http:/ ... t.org/"http://www.webmproject.org/webmproject"links" ... tall"}][{"url" ... tall"}]"url":" ... webmmf""https: ... webmmf"https://tools.google.com/dlpage/webmmfhttps://toolscom/dlpage/webmmf"Codec  ... upport"Codec for IE9 support{"url": ... afari"}"url":" ... ugins/""http:/ ... ugins/"http://www.broken-links.com/2010/09/01/playing-webm-in-safari-with-plugins/com/2010/09/01/playing-webm-in-safari-with-plugins/"title" ... Safari""Info o ... Safari"Info on supporting WebM in Safari{"url": ... bsite"}"title" ... ebsite"Official website"url":" ... o-webm""https: ... o-webm"https://raw.github.com/phiggins42/has.js/master/detect/video.js#video-webmjs#video-webm{"url": ... stall"}"url":" ... n.org/"http://perian.org/http://perian"title" ... nstall""Perian ... nstall"Perian :Mac OSX Webm Codec install"notes" ... t all.""Will w ... t all."Will work in IE9+ and Safari/MacOSX provided the user has the WebM codecs installed. Partial support indicates that at least one codec is supported but not all.Will work in IE and Safari/MacOSX provided the user has the WebM codecs installed Partial support indicates that at least one codec is supported but not all"usage_perc_y":61.12"usage_perc_a":7.97"parent":"video""keywor ... troska"matroska"ie_id":"webmvideo"webmvideo"chrome ... 172352"6362186595172352"mpeg4" ... id":""}mpeg4"MPEG-4 ... format"MPEG-4/H.264 video formatMPEG-4/H264 video format"descri ... ormat.""Common ... ormat."Commonly used video compression format.Commonly used video compression format"spec": ... 05.pdf""http:/ ... 05.pdf"http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdfhttp://iphhide/imagecom_G1/assets/pdfs/csvt_overview_0305"links" ... Win7"}][{"url" ... Win7"}]"url":" ... -4_AVC""http:/ ... -4_AVC"http://en.wikipedia.org/wiki/H.264/MPEG-4_AVCorg/wiki/H264/MPEG-4_AVCWikipedia article{"url": ...  Win7"}"url":" ... plugin""http:/ ... plugin"http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugininteroperabilitybridgescom/html5-extension-for-wmp-plugin"title" ... n Win7""Firefo ... n Win7"Firefox extension allowing support in Win7"The An ... ation."The Android 2.3 browser requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to play videos

Firefox supports H.264 on Windows 7 and later since version 21. Firefox supports H.264 on Linux since version 26 if the appropriate gstreamer plug-ins are installed.

Partial support for older Firefox versions refers to the lack of support in OSX & some Linux platforms. For Android Firefox it refers to the inability of hardware acceleration.The Android 23 browser requires  to play videos

Firefox supports H264 on Windows 7 and later since version 21 Firefox supports H264 on Linux since version 26 if the appropriate gstreamer plug-ins are installed

Partial support for older Firefox versions refers to the lack of support in OSX & some Linux platforms For Android Firefox it refers to the inability of hardware acceleration"usage_perc_y":81.83"usage_perc_a":9.09"keywor ... c,h264""avc,mp ... c,h264"avc,mp4,mpv,mov,aac,h264"ogv":{ ... id":""}ogv"Ogg/Th ... format"Ogg/Theora video format"Free l ... ormat."Free lossy video compression format.Free lossy video compression format"spec": ... g/doc/""http:/ ... g/doc/"http://theora.org/doc/http://theoraorg/doc/"url":" ... Theora""http:/ ... Theora"http://en.wikipedia.org/wiki/Theoraorg/wiki/Theora"usage_perc_y":52.07"keywords":"xiph"xiph"wordwr ... id":""}wordwrap"title" ... w-wrap"CSS3 Overflow-wrap"Allows ... perty."Allows lines to be broken within words if an otherwise unbreakable string is too long to fit. Currently mostly supported using the `word-wrap` property.Allows lines to be broken within words if an otherwise unbreakable string is too long to fit Currently mostly supported using the `word-wrap` property"spec": ... w-wrap""http:/ ... w-wrap"http://www.w3.org/TR/css3-text/#overflow-wraporg/TR/css3-text/#overflow-wrap"url":" ... d-wrap""https: ... d-wrap"https://developer.mozilla.org/En/CSS/Word-wraporg/En/CSS/Word-wrap"url":" ... rdwrap""http:/ ... rdwrap"http://www.css3files.com/text/#wordwrapcom/text/#wordwrap"http:/ ... d-wrap"http://docs.webplatform.org/wiki/css/properties/word-wraporg/wiki/css/properties/word-wrap"url":" ... 955857""https: ... 955857"https://bugzilla.mozilla.org/show_bug.cgi?id=955857id=955857"Bug on ... upport"Bug on Firefox support"notes" ...  work.""Partia ...  work."Partial support refers to requiring the legacy name "word-wrap" (rather than overflow-wrap) to work.Partial support refers to requiring the legacy name "word-wrap" (rather than overflow-wrap)rather than overflow-wrap to work"usage_perc_y":59.7"usage_perc_a":37.46"keywor ... d-wrap"wordwrap,word-wrap"progre ... id":""}progressmeter"title" ...  Meter"Progress & Meter"descri ... ).\r\n""Method ... ).\r\n"Method of indicating a progress state (progress element) or the current level of a gauge (meter element).
Method of indicating a progress state (progress element)progress element or the current level of a gauge (meter element)meter elementhttps://html.spec.whatwg.org/multipage/forms.html#the-progress-elementhtml#the-progress-element"url":" ... output""https: ... output"https://dev.opera.com/articles/new-form-features-in-html5/#newoutputcom/articles/new-form-features-in-html5/#newoutput"url":" ... r-tag/""http:/ ... r-tag/"http://html5doctor.com/measure-up-with-the-meter-tag/com/measure-up-with-the-meter-tag/"HTML5  ... lement"HTML5 Doctor on meter elementhttp://peter.sh/examples/?/html/meter-progress.htmlhttp://petersh/examples/html/meter-progress"Exampl ... ements"Examples of progress and meter elements"url":" ... ogress""http:/ ... ogress"http://docs.webplatform.org/wiki/html/elements/progressorg/wiki/html/elements/progress"notes" ... ment/)""Partia ... ment/)"Partial support in Firefox 6-15, IE10 & iOS7 Safari refers to supporting the progress element, but not the meter element. iOS7 Safari also does not support "indeterminate" progress elements.

For styling progress bars, [see this article](http://css-tricks.com/html5-progress-element/)Partial support in Firefox 6-15, IE10 & iOS7 Safari refers to supporting the progress element, but not the meter element iOS7 Safari also does not support "indeterminate" progress elements

For styling progress bars, [see this article](http://css-tricks.com/html5-progress-element/)http://css-tricks.com/html5-progress-element/com/html5-progress-element/"usage_perc_y":69.62"usage_perc_a":17.19"object ... 56704"}{"title ... 56704"}"title" ... sition""CSS3 o ... sition"CSS3 object-fit/object-position"descri ...  does.""Method ...  does."Method of specifying how an object (image or video) should fit inside its box. object-fit options include "contain" (fit according to aspect ratio), "fill" (stretches object to fill) and "cover" (overflows box but maintains ratio), where object-position allows the object to be repositioned like background-image does.Method of specifying how an object (image or video)image or video should fit inside its box object-fit options include "contain" (fit according to aspect ratio)fit according to aspect ratio, "fill" (stretches object to fill)stretches object to fill and "cover" (overflows box but maintains ratio)overflows box but maintains ratio, where object-position allows the object to be repositioned like background-image does"https: ... ition/"https://dev.opera.com/articles/view/css3-object-fit-object-position/com/articles/view/css3-object-fit-object-position/"url":" ... ct-fit""http:/ ... ct-fit"http://docs.webplatform.org/wiki/css/properties/object-fitorg/wiki/css/properties/object-fit"https: ... ct-fit"https://github.com/anselmh/object-fitcom/anselmh/object-fit"object ... lyfill"object-fit JavaScript-Polyfill"safari ... "a #1"}{"3.1": ... "a #1"}"12.1":"y x""ios_sa ... "a #1"}{"3.2": ... "a #1"}"8.1-8.3":"a #1""op_min ... :"y x"}{"5.0-8.0":"y x"}"5.0-8.0":"y x""notes_ ... ion`."}{"1":"P ... ion`."}"1":"Pa ... tion`.""Partia ... tion`."Partial support in Safari refers to support for `object-fit` but not `object-position`.Partial support in Safari refers to support for `object-fit` but not `object-position`"usage_perc_y":57.56"usage_perc_a":7.96"keywor ... sition""object ... sition"objectfit,objectposition"ie_id" ... sition"objectfitandobjectposition"chrome ... 856704"5302669702856704"xhr2": ... id":""}xhr2"title" ... uest 2"XMLHttpRequest 2"Adds m ...  data."Adds more functionality to AJAX requests like file uploads, transfer progress information and the ability to send form data.Adds more functionality to AJAX requests like file uploads, transfer progress information and the ability to send form data"spec": ... g.org/""https: ... g.org/"https://xhr.spec.whatwg.org/https://xhr{"url": ... mData"}"url":" ... rmData""https: ... rmData"https://developer.mozilla.org/en/XMLHttpRequest/FormDataorg/en/XMLHttpRequest/FormData"title" ... rmData""MDN ar ... rmData"MDN article on FormData{"url": ... bject"}"https: ... Uri.js"https://github.com/3nr1c/jUri.js"title" ... object""Polyfi ... object"Polyfill for FormData object"url":" ... equest""http:/ ... equest"http://docs.webplatform.org/wiki/apis/xhr/XMLHttpRequestorg/wiki/apis/xhr/XMLHttpRequest["DOM","JS API"]{"4":"u ... 4":"y"}"4":"u""5":"u""6":"u""usage_perc_y":89.84"usage_perc_a":0.09"keywor ... rmdata"formdata"minmax ... id":""}minmaxwh"title" ... height""CSS mi ... height"CSS min/max-width/height"descri ... ment. ""Method ... ment. "Method of setting a minimum or maximum width or height to an element. Method of setting a minimum or maximum width or height to an element"spec": ... widths""http:/ ... widths"http://www.w3.org/TR/CSS21/visudet.html#min-max-widthsorg/TR/CSS21/visudethtml#min-max-widths"url":" ... e7-js/""http:/ ... e7-js/"http://code.google.com/p/ie7-js/com/p/ie7-js/"JS lib ... upport"JS library with supporthttp://docs.webplatform.org/wiki/css/properties/min-widthorg/wiki/css/properties/min-width"url":" ... t-css/""http:/ ... t-css/"http://www.impressivewebs.com/min-max-width-height-css/impressivewebscom/min-max-width-height-css/"title" ... s post"CSS Basics post"notes" ... croll.""IE7 do ... croll."IE7 does not support "inherit" as a value on any of these properties. IE8 has some bugs with max-width/height combined with overflow: auto/scroll.IE7 does not support "inherit" as a value on any of these properties IE8 has some bugs with max-width/height combined with overflow: auto/scroll"keywor ... height""min-wi ... height"min-width,min-height,max-width,max-height"detail ... 02464"}{"title ... 02464"}Details & Summary elements"The <d ... ement."The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> elementhttps://html.spec.whatwg.org/multipage/forms.html#the-details-elementhtml#the-details-element"url":" ... jquery""https: ... jquery"https://mathiasbynens.be/notes/html5-details-jqueryhttps://mathiasbynensbe/notes/html5-details-jquery"jQuery ... script"jQuery fallback script"url":" ... 370590""https: ... 370590"https://gist.github.com/370590https://gistcom/370590Fallback scripthttp://html5doctor.com/summary-figcaption-element/com/summary-figcaption-element/"url":" ... etails""https: ... etails"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-detailsjs#native-details"http:/ ... etails"http://docs.webplatform.org/wiki/html/elements/detailsorg/wiki/html/elements/details"url":" ... 591737""https: ... 591737"https://bugzilla.mozilla.org/show_bug.cgi?id=591737id=591737{"2":"n ... 0":"p"}"usage_perc_y":66.68"ie_id" ... ummary"detailssummary"chrome ... 502464"5348024557502464"text-s ... id":""}text-stroke"title" ... stroke"CSS text-stroke"descri ...  text.""Method ...  text."Method of declaring the outline (stroke) width and color for text.Method of declaring the outline (stroke) width and color for text"spec": ... stroke""http:/ ... stroke"http://developer.apple.com/library/safari/documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266-_webkit_text_strokehttp://developerapplecom/library/safari/documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSPropertieshtml#//apple_ref/doc/uid/TP30001266-_webkit_text_stroke"links" ... itor"}][{"url" ... itor"}]{"url": ... ounds"}http://css-tricks.com/7405-adding-stroke-to-web-text/com/7405-adding-stroke-to-web-text/"Inform ... rounds"Information & workarounds"url":" ... troke/""http:/ ... troke/"http://www.westciv.com/tools/textStroke/com/tools/textStroke/"notes" ... moved.""Does n ... moved."Does not yet appear in any W3C specification. Was briefly included in a spec as the "text-outline" property, but this was removed.Does not yet appear in any W3C specification Was briefly included in a spec as the "text-outline" property, but this was removed"usage_perc_y":63.33"keywor ... -color""textst ... -color"textstroke,stroke-color,stroke-width,fill-color"inline ... id":""}inline-block"title" ... -block"CSS inline-block"descri ... text. ""Method ... text. "Method of displaying an element as a block while flowing it with text. Method of displaying an element as a block while flowing it with text{"url": ... /info"}"url":" ... sucks/""http:/ ... sucks/"http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/"title" ... w/info"Blog post w/info"url":" ... block/""http:/ ... block/"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/com/webdev/2009/02/20/cross-browser-inline-block/"Info o ... upport"Info on cross browser support"url":" ... isplay""http:/ ... isplay"http://docs.webplatform.org/wiki/css/properties/displayorg/wiki/css/properties/display"Only s ... pport."Only supported in IE6 and IE7 on elements with a display of "inline" by default. [Alternative properties](http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/) are available to provide complete cross-browser support.Only supported in IE6 and IE7 on elements with a display of "inline" by default[Alternative properties](http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/) are available to provide complete cross-browser support"usage_perc_y":97.05"usage_perc_a":0.21"keywor ... eblock"inlineblock"notifi ... 36256"}{"title ... 36256"}Web Notifications"descri ... user).""Method ... user)."Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user)that do not require interaction by the userhttp://www.w3.org/TR/notifications/org/TR/notifications/"links" ... n IE"}][{"url" ... n IE"}]"url":" ... quick/""http:/ ... quick/"http://www.html5rocks.com/tutorials/notifications/quick/com/tutorials/notifications/quick/{"url": ... m API"}http://www.chromium.org/developers/design-documents/desktop-notifications/api-specificationorg/developers/design-documents/desktop-notifications/api-specification"title" ... um API"Chromium API{"url": ... d-on "}"url":" ... 21523/""https: ... 21523/"https://addons.mozilla.org/en-us/firefox/addon/221523/org/en-us/firefox/addon/221523/"title":"Add-on "Add-on https://developer.mozilla.org/en-US/docs/Web/API/notificationorg/en-US/docs/Web/API/notificationMDN Notificationshttp://www.sitepoint.com/introduction-web-notifications-api/com/introduction-web-notifications-api/http://aurelio.audero.it/demo/web-notifications-api-demo.htmlit/demo/web-notifications-api-demohttp://ukot.github.io/ie_web_notifications/http://ukotio/ie_web_notifications/"Plug-i ...  in IE"Plug-in for support in IE"usage_perc_y":49.73"usage_perc_a":4"ie_id" ... ations"webnotifications"chrome ... 536256"5064350557536256"stream ... 57376"}{"title ... 57376"}"title" ... am API""getUse ... am API"getUserMedia/Stream APIMethod of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.Method of accessing external device data (such as a webcam video stream)such as a webcam video stream Formerly this was envisioned as the <device> element"spec": ... reams/""http:/ ... reams/"http://www.w3.org/TR/mediacapture-streams/org/TR/mediacapture-streams/"url":" ... eview/""https: ... eview/"https://dev.opera.com/blog/webcam-orientation-preview/com/blog/webcam-orientation-preview/"Techno ...  Opera"Technology preview from Opera"url":" ... rMedia""http:/ ... rMedia"http://docs.webplatform.org/wiki/dom/Navigator/getUserMediaorg/wiki/dom/Navigator/getUserMedia"usage_perc_y":62.21"keywor ... re API""camera ... re API"camera,device,getUserMedia,media stream,Media Capture API"ie_id" ... treams""mediac ... treams"mediacaptureandstreams"chrome ... 957376""606738 ... 957376"6067380039974912,6605041225957376"svg-im ... id":""}svg-img"SVG in ... lement"SVG in HTML img element"descri ... <img>.""Method ... <img>."Method of displaying SVG images in HTML using <img>.Method of displaying SVG images in HTML using <img>"spec": ... t.html""https: ... t.html"https://html.spec.whatwg.org/multipage/embedded-content.html{"url": ... mples"}http://blog.dholbert.org/2010/10/svg-as-image.htmldholbertorg/2010/10/svg-as-image"title" ... amples""Blog p ... amples"Blog post with examples{"url": ... mages"}"url":" ... /blog/""http:/ ... /blog/"http://www.codedread.com/blog/codedreadcom/blog/"Blog w ... images"Blog with SVGs an images"usage_perc_y":94.47"keywor ... in-img""svg-as ... in-img"svg-as-img,svg-in-img"datali ... 95360"}datalist{"title ... 95360"}Datalist element"descri ... value.""Method ... value."Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value.Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom valuehttps://html.spec.whatwg.org/multipage/forms.html#the-datalist-elementhtml#the-datalist-elementhttp://hacks.mozilla.org/2010/11/firefox-4-html5-forms/org/2010/11/firefox-4-html5-forms/http://afarkas.github.com/webshim/demos/http://afarkascom/webshim/demos/"HTML5  ... upport"HTML5 Library including datalist support"url":" ... talist""https: ... talist"https://developer.mozilla.org/en/HTML/Element/datalistorg/en/HTML/Element/datalist"http:/ ... talist"http://docs.webplatform.org/wiki/html/elements/datalistorg/wiki/html/elements/datalist{"url": ... tests"}"url":" ... alist/""http:/ ... alist/"http://demo.agektmr.com/datalist/http://demoagektmrcom/datalist/"title" ...  tests""Eiji K ...  tests"Eiji Kitamura's options demos & tests"http:/ ... lyfill"http://github.com/thgreasi/datalist-polyfillcom/thgreasi/datalist-polyfill"Minima ... torial"Minimal Datalist polyfill w/tutorial"notes" ... oVKW).""Partia ... oVKW)."Partial support in IE10 refers to [significantly buggy behavior](http://playground.onereason.eu/2013/04/ie10s-lousy-support-for-datalists/). Firefox doesn't support [datalist association with inputs of type `number`](http://codepen.io/graste/pen/bNoVKW).Partial support in IE10 refers to [significantly buggy behavior](http://playground.onereason.eu/2013/04/ie10s-lousy-support-for-datalists/)http://playground.onereason.eu/2013/04/ie10s-lousy-support-for-datalists/http://playgroundonereasoneu/2013/04/ie10s-lousy-support-for-datalists/ Firefox doesn't support [datalist association with inputs of type `number`](http://codepen.io/graste/pen/bNoVKW)http://codepen.io/graste/pen/bNoVKWio/graste/pen/bNoVKW"usage_perc_y":63.83"usage_perc_a":9.28"keywor ... ribute"list attribute"ie_id" ... lement"datalistelement"chrome ... 495360"6090950820495360"datase ... id":""}"title" ... ibutes""datase ... ibutes"dataset & data-* attributesdataset & data attributes"descri ... ments.""Method ... ments."Method of applying and accessing custom data to elements.Method of applying and accessing custom data to elements"spec": ... ibutes"https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributesorg/multipage/domhtml#embedding-custom-non-visible-data-with-the-data-attributes"links" ... utes"}][{"url" ... utes"}]"url":" ... butes/""http:/ ... butes/"http://html5doctor.com/html5-custom-data-attributes/com/html5-custom-data-attributes/{"url": ... taset"}"url":" ... ataset""http:/ ... ataset"http://html5demos.com/datasetcom/dataset"title" ... ataset"Demo using dataset"https: ... ataset"https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-datasetjs#dom-dataset"url":" ... data-*""http:/ ... data-*"http://docs.webplatform.org/wiki/html/attributes/data-*org/wiki/html/attributes/datahttps://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.datasetorg/en-US/docs/Web/API/HTMLElement"MDN Re ... ataset"MDN Reference - dataset{"url": ... butes"}org/en-US/docs/Web/Guide/HTML/Using_data_attributes"MDN Gu ... ibutes"MDN Guide - Using data-* attributesMDN Guide - Using data{"10":"a","11":"y"}Partial support refers to being able to use `data-*` attributes and access them using `getAttribute`. 

"Supported" refers to accessing the values using the `dataset` property. Current spec only refers to support on HTML elements, only some browsers also have support for SVG/MathML elements.Partial support refers to being able to use `data` attributes and access them using `getAttribute` 

"Supported" refers to accessing the values using the `dataset` property Current spec only refers to support on HTML elements, only some browsers also have support for SVG/MathML elements"usage_perc_y":88.23"usage_perc_a":9.03"keywor ... ingMap"DOMStringMap"css-gr ... 43968"}css-grid{"title ... 43968"}"title" ... Layout"CSS Grid Layout"descri ... aviors""Method ... aviors"Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for lay out into columns and rows using a set of predictable sizing behaviors"spec": ... ayout/""http:/ ... ayout/"http://www.w3.org/TR/css3-grid-layout/org/TR/css3-grid-layout/"links" ... spec"}][{"url" ... spec"}]"url":" ... s.aspx""http:/ ... s.aspx"http://blogs.msdn.com/b/ie/archive/2011/04/14/ie10-platform-preview-and-css-features-for-adaptive-layouts.aspxhttp://blogscom/b/ie/archive/2011/04/14/ie10-platform-preview-and-css-features-for-adaptive-layoutsIE Blog post{"url": ... quest"}"url":" ... =60731""https: ... =60731"https://bugs.webkit.org/show_bug.cgi?id=60731https://bugsid=60731"title" ... equest""Webkit ... equest"Webkit (Chrome, Safari, etc.) feature requestWebkit (Chrome, Safari, etc.)Chrome, Safari, etc.Chrome, Safari, etc feature request"url":" ... 616605""https: ... 616605"https://bugzilla.mozilla.org/show_bug.cgi?id=616605id=616605"Mozill ... equest"Mozilla (Firefox) feature requestMozilla (Firefox)https://github.com/codler/Grid-Layout-Polyfillcom/codler/Grid-Layout-Polyfill"title" ... d spec""Polyfi ... d spec"Polyfill based on old spec"url":" ... yfill/""https: ... yfill/"https://github.com/FremyCompany/css-grid-polyfill/com/FremyCompany/css-grid-polyfill/"title" ... w spec""Polyfi ... w spec"Polyfill based on new spec"ie":{" ...  x #2"}{"5.5": ...  x #2"}"11":"a x #2""TP":"a x #2""chrome ...  d #1"}{"4":"n ...  d #1"}"29":"p d #1"p d #1"30":"p d #1""31":"p d #1""32":"p d #1""33":"p d #1""34":"p d #1""35":"p d #1""36":"p d #1""37":"p d #1""38":"p d #1""39":"p d #1""40":"p d #1""41":"p d #1""42":"p d #1""43":"p d #1""44":"p d #1""opera" ...  d #1"}{"9":"n ...  d #1"}"28":"p d #1""ie_mob ...  x #2"}{"10":" ...  x #2"}"notes_ ... tion."}{"1":"E ... tion."}"1":"En ... /flags""Enable ... /flags"Enabled in Chrome through the "experimental Web Platform features" flag in chrome://flags"2":"Pa ... ation.""Partia ... ation."Partial support in IE refers to supporting an [older version](http://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/) of the specification.Partial support in IE refers to supporting an (http://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/)http://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/org/TR/2011/WD-css3-grid-layout-20110407/ of the specification"keywor ... column""grids, ... column"grids,grid-row,grid-column"ie_id":"grid""chrome ... 243968"4589636412243968"menu": ... id":""}menu"title" ... t menu""Toolba ... t menu"Toolbar/context menuMethod of defining a toolbar menu, a context menu or a list of (interactive) options using the <menu> element.Method of defining a toolbar menu, a context menu or a list of (interactive)interactive options using the <menu> elementhttps://html.spec.whatwg.org/multipage/forms.html#the-menu-elementhtml#the-menu-element"url":" ... 554309""https: ... 554309"https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309https://bug617528bugzillaorg/attachmentid=554309"url":" ... tMenu/""http:/ ... tMenu/"http://addyosmani.github.com/jQuery-contextMenu/http://addyosmanicom/jQuery-contextMenu/jQuery polyfill"url":" ... xtmenu""https: ... xtmenu"https://raw.github.com/phiggins42/has.js/master/detect/events.js#event-contextmenujs/master/detect/eventsjs#event-contextmenu"url":" ... 746087""https: ... 746087"https://bugzilla.mozilla.org/show_bug.cgi?id=746087id=746087"notes" ... menus.""Partia ... menus."Partial support in Firefox refers to being limited to context menus, not toolbar menus.Partial support in Firefox refers to being limited to context menus, not toolbar menus"usage_perc_a":12.05"keywor ... ommand""contex ... ommand"contextmenu,menuitem,command"rem":{ ... id":""}rem"title" ...  units""rem (r ...  units"rem (root em) unitsrem (root em)root em units"descri ... units.""Type o ... units."Type of unit similar to `em`, but relative only to the root element, not any parent element. Thus compounding does not occur as it does with `em` units.Type of unit similar to `em`, but relative only to the root element, not any parent element Thus compounding does not occur as it does with `em` units"spec": ... engths""http:/ ... engths"http://www.w3.org/TR/css3-values/#font-relative-lengthsorg/TR/css3-values/#font-relative-lengths"url":" ... th-rem""http:/ ... th-rem"http://snook.ca/archives/html_and_css/font-size-with-remhttp://snookca/archives/html_and_css/font-size-with-remhttps://github.com/chuckcarpenter/REM-unit-polyfillcom/chuckcarpenter/REM-unit-polyfillREM Polyfill"notes_ ... ents."}{"1":"I ... ents."}"1":"IE ... ments.""IE 9 & ... ments."IE 9 & IE 10 do not support `rem` units when used in the `font` shorthand property (the entire declaration is ignored) or when used on pseudo elements.IE 9 & IE 10 do not support `rem` units when used in the `font` shorthand property (the entire declaration is ignored)the entire declaration is ignored or when used on pseudo elements"usage_perc_y":91.55"usage_perc_a":2.93"keywords":"rems"rems"ttf":{ ... id":""}ttf"TTF/OT ... upport"TTF/OTF - TrueType and OpenType font support"descri ... face. ""Suppor ... face. "Support for the TrueType (.ttf)and OpenType (.otf) outline font formats in @font-face. Support for the TrueType (.ttf).ttfand OpenType (.otf).otfotf outline font formats in @font-face"spec": ... x.html"http://developer.apple.com/fonts/TTRefMan/index.htmlcom/fonts/TTRefMan/index"links" ... rer?"}][{"url" ... rer?"}]{"url": ... orer?"}"url":" ... plorer""http:/ ... plorer"http://stackoverflow.com/questions/17694143/what-is-the-status-of-ttf-support-in-internet-explorercom/questions/17694143/what-is-the-status-of-ttf-support-in-internet-explorer"title" ... lorer?""What i ... lorer?"What is the status of TTF support in Internet Explorer?What is the status of TTF support in Internet Explorer?"ie_mob ... 1":"u"}{"10":"u","11":"u"}"11":"u""notes" ... aspx).""Partia ... aspx)."Partial support in IE9 refers to the fonts only working [when set to be "installable"](http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx).Partial support in IE9 refers to the fonts only working [when set to be "installable"](http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx)http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspxcom/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design"usage_perc_y":80.25"usage_perc_a":10.91"touch" ... 17824"}touch{"title ... 17824"}Touch eventsMethod of registering when, where and how the interface is touched, for devices with a touch screen. These DOM events are similar to mousedown, mousemove, etc.Method of registering when, where and how the interface is touched, for devices with a touch screen These DOM events are similar to mousedown, mousemove, etc"spec": ... vents/""http:/ ... vents/"http://www.w3.org/TR/touch-events/org/TR/touch-events/"links" ... orer"}][{"url" ... orer"}]{"url": ... ables"}http://www.quirksmode.org/mobile/tableTouch.htmlorg/mobile/tableTouch"title" ... tables""Detail ... tables"Detailed support tables"url":" ... 2.html""http:/ ... 2.html"http://www.quirksmode.org/m/tests/drag2.htmlorg/m/tests/drag2Multi-touch demo{"url": ... pment"}"url":" ... ntouch""http:/ ... ntouch"http://schepers.cc/getintouchhttp://scheperscc/getintouch"title" ... opment""Inform ... opment"Information on the spec development{"url": ... tion."}http://msdn.microsoft.com/en-us/library/ie/hh673557(v=vs.85).aspxcom/en-us/library/ie/hh673557(v=vs.85)v=vs.85v=vs"title" ... ation.""Intern ... ation."Internet Explorer's gesture and touch implementation.Internet Explorer's gesture and touch implementationhttp://github.com/CamHenlin/TouchPolyfillcom/CamHenlin/TouchPolyfill"Touch  ... plorer"Touch polyfill for supporting touch events on Internet Explorer"25":"n d #1""26":"n d #1""27":"n d #1""28":"n d #1""ie_mob ... "a #2"}{"10":" ... "a #2"}"notes" ...  only.""Intern ...  only."Internet Explorer implements Pointer Events specification which supports more input devices than Touch Events one.

There is a library on GitHub that is working toward bringing W3C touch events to IE 10 and 11: https://github.com/CamHenlin/TouchPolyfill 

Removed support in Firefox refers to desktop Firefox only.Internet Explorer implements Pointer Events specification which supports more input devices than Touch Events one

There is a library on GitHub that is working toward bringing W3C touch events to IE 10 and 11: https://githubcom/CamHenlin/TouchPolyfill 

Removed support in Firefox refers to desktop Firefox only"notes_ ... px)\""}{"1":"C ... px)\""}"1":"Ca ... asons)""Can be ... asons)"Can be enabled in Firefox using the dom.w3c_touch_events.enabled flag (disabled by default for site compatibility reasons)Can be enabled in Firefox using the domw3c_touch_eventsenabled flag (disabled by default for site compatibility reasons)disabled by default for site compatibility reasons"2":"Su ... spx)\"""Suppor ... spx)\""Supported on IE11 Mobile for phones with "[Windows Phone 8.1 Update](http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx)"Supported on IE11 Mobile for phones with "[Windows Phone 8.1 Update]U(http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx)http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspxcom/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone"usage_perc_y":63.78"usage_perc_a":0.87"keywor ... cancel""touchs ... cancel"touchstart,touchend,touchmove,touchenter,touchleave,touchcancel"ie_id" ... events"touchevents"chrome ... 917824"6156165603917824"matche ... id":""}matchesselector"title" ... method""matche ... method"matches() DOM method DOM method"descri ... ector.""Method ... ector."Method of testing whether or not a DOM element matches a given selector. Formerly known (and largely supported with prefix) as matchesSelector.Method of testing whether or not a DOM element matches a given selector Formerly known (and largely supported with prefix)and largely supported with prefix as matchesSelector"spec": ... atches""https: ... atches"https://dom.spec.whatwg.org/#dom-element-matcheshttps://domorg/#dom-element-matcheshttps://developer.mozilla.org/en/DOM/Element.mozMatchesSelectororg/en/DOM/Elementhttp://docs.webplatform.org/wiki/dom/HTMLElement/matchesSelectororg/wiki/dom/HTMLElement/matchesSelector"ie":{" ... :"a x"}{"5.5": ... :"a x"}"TP":"a x""ie_mob ... :"a x"}"notes" ... hes\".""Partia ... hes\"."Partial support refers to supporting the older specification's "matchesSelector" name rather than just "matches".Partial support refers to supporting the older specification's "matchesSelector" name rather than just "matches""usage_perc_y":61.94"usage_perc_a":29.8"keywor ... lector" matchesSelector"pointe ... id":""}pointer-events"title" ...  HTML)""CSS po ...  HTML)"CSS pointer-events (for HTML)CSS pointer-events (for HTML)for HTML"descri ... d it. ""This C ... d it. "This CSS property, when set to "none" allows elements to not receive hover/click events, instead the event will occur on anything behind it. This CSS property, when set to "none" allows elements to not receive hover/click events, instead the event will occur on anything behind it"spec": ... events""http:/ ... events"http://wiki.csswg.org/spec/css4-ui#pointer-eventshttp://wikicsswgorg/spec/css4-ui#pointer-events"url":" ... ments/""http:/ ... ments/"http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/Article & tutorial"url":" ... events""https: ... events"https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-pointereventsjs#css-pointerevents"Alread ... ments."Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements"usage_perc_y":88.39pointereventscsspointerevents"blobbu ... 16384"}blobbuilder{"title ... 16384"}"title" ... ucting"Blob constructing"descri ... uctor.""Constr ... uctor."Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor.Construct Blobs (binary large objects)binary large objects either using the BlobBuilder API (deprecated) or the Blob constructor"http:/ ... erface"http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interfaceorg/TR/file-writer-api/#the-blobbuilder-interface"links" ... lobs"}][{"url" ... lobs"}]{"url": ... ilder"}"url":" ... uilder""https: ... uilder"https://developer.mozilla.org/en/DOM/BlobBuilderorg/en/DOM/BlobBuilder"title" ... uilder""MDN ar ... uilder"MDN article on BlobBuilder{"url": ... Blobs"}"url":" ... M/Blob""https: ... M/Blob"https://developer.mozilla.org/en-US/docs/DOM/Bloborg/en-US/docs/DOM/Blob"title" ...  Blobs""MDN ar ...  Blobs"MDN article on Blobs"notes" ... blobs.""Partia ... blobs."Partial support refers to only supporting the now deprecated BlobBuilder to create blobs.Partial support refers to only supporting the now deprecated BlobBuilder to create blobs"usage_perc_y":78.45"usage_perc_a":10.76"parent":"fileapi""ie_id":"blob""chrome ... 016384"5328783104016384"filere ... 30528"}filereader{"title ... 30528"}"title" ... er API"FileReader API"descri ... memory""Method ... memory"Method of reading the contents of a File or Blob object into memory"spec": ... reader""http:/ ... reader"http://www.w3.org/TR/FileAPI/#dfn-filereaderorg/TR/FileAPI/#dfn-filereader{"url": ... r API"}"url":" ... Reader""https: ... Reader"https://developer.mozilla.org/en/DOM/FileReaderorg/en/DOM/FileReader"http:/ ... Reader"http://docs.webplatform.org/wiki/apis/file/FileReaderorg/wiki/apis/file/FileReader"notes_ ... ring`"}{"1":"D ... ring`"}"1":"Do ... tring`""Does n ... tring`"Does not support `readAsBinaryString`"usage_perc_y":80.13"ie_id":"filereader""chrome ... 430528"5171003185430528"filesy ... 41184"}{"title ... 41184"}"Filesy ... er API"Filesystem & FileWriter API"descri ... ystem.""Method ... ystem."Method of reading and writing files to a sandboxed file system.Method of reading and writing files to a sandboxed file system"spec": ... m-api/""http:/ ... m-api/"http://www.w3.org/TR/file-system-api/org/TR/file-system-api/"url":" ... ystem/""http:/ ... ystem/"http://www.html5rocks.com/en/tutorials/file/filesystem/com/en/tutorials/file/filesystem/"url":" ... system""http:/ ... system"http://docs.webplatform.org/wiki/apis/filesystemorg/wiki/apis/filesystem"The Fi ... sions."The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions.The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions"usage_perc_y":45.96"usage_perc_a":0.14"keywor ... writer"filewriter"ie_id":"filewriter""chrome ... 141184"5452478162141184"blobur ... id":""}bloburls"title":"Blob URLs"Blob URLsMethod of creating URL handles to the specified File or Blob object.Method of creating URL handles to the specified File or Blob object"spec": ... I/#url""http:/ ... I/#url"http://www.w3.org/TR/FileAPI/#urlorg/TR/FileAPI/#url"url":" ... ectURL""https: ... ectURL"https://developer.mozilla.org/en/DOM/window.URL.createObjectURL"usage_perc_y":88.82"keywor ... ecturl"createobjecturl"rellis ... id":""}rellist"title" ... nList)""relLis ... nList)"relList (DOMTokenList)relList (DOMTokenList)"descri ... List).""Method ... List)."Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList).Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList)similar to classList"spec": ... ellist""https: ... ellist"https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellisthtml#dom-a-rellist"links" ... List"}][{"url" ... List"}]{"url": ... nList"}"url":" ... enList""https: ... enList"https://developer.mozilla.org/en-US/docs/DOM/DOMTokenListorg/en-US/docs/DOM/DOMTokenList"title" ... enList"MDN - DOMTokenList"usage_perc_y":11.22"typeda ... 41696"}typedarrays{"title ... 41696"}"title" ... Arrays"Typed Arrays"descri ... y.\r\n""JavaSc ... y.\r\n"JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently.
JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently"spec": ... atest/""http:/ ... atest/"http://www.khronos.org/registry/typedarray/specs/latest/org/registry/typedarray/specs/latest/"url":" ... arrays""https: ... arrays"https://developer.mozilla.org/en/javascript_typed_arraysorg/en/javascript_typed_arrays"5.1":"a #2""4.2-4.3":"a #2""notes_ ... rray`"}{"1":"I ... rray`"}"1":"IE ... Array`""IE10 ( ... Array`"IE10 (and IE 10&11 mobile) does not support `Uint8ClampedArray`IE10 (and IE 10&11 mobile)and IE 10&11 mobile does not support `Uint8ClampedArray`"usage_perc_y":87.31"usage_perc_a":2.35"keywor ... 8array""float6 ... 8array"float64array,dataview,uint8array"ie_id" ... arrays""chrome ... 341696"5135818813341696"device ... 79904"}deviceorientation{"title ... 79904"}"Device ... events"DeviceOrientation events"descri ... owser.""API fo ... owser."API for detecting orientation and motion events from the device running the browser.API for detecting orientation and motion events from the device running the browser"spec": ... event/""http:/ ... event/"http://www.w3.org/TR/orientation-event/org/TR/orientation-event/"links" ... Demo"}][{"url" ... Demo"}]http://www.html5rocks.com/en/tutorials/device/orientation/com/en/tutorials/device/orientation/"https: ... tation"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-orientationjs#native-orientation{"url": ...  IE10"}"url":" ... s/info""http:/ ... s/info"http://html5labs.interoperabilitybridges.com/prototypes/device-orientation-events/device-orientation-events/infohttp://html5labscom/prototypes/device-orientation-events/device-orientation-events/info"title" ... r IE10""Device ... r IE10"DeviceOrientation implementation prototype for IE10http://aurelio.audero.it/demo/device-orientation-api-demo.htmlit/demo/device-orientation-api-demo{"4":"n ... 4":"a"}"notes" ... event.""Partia ... event."Partial support refers to the lack of compassneedscalibration event. Partial support also refers to the lack of devicemotion event support for Chrome 30- and Opera. Opera Mobile 14 lost the ondevicemotion event support. Firefox 3.6, 4 and 5 support the non-standard [MozOrientation](https://developer.mozilla.org/en/DOM/MozOrientation) event.Partial support refers to the lack of compassneedscalibration event Partial support also refers to the lack of devicemotion event support for Chrome 30- and Opera Opera Mobile 14 lost the ondevicemotion event support Firefox 36, 4 and 5 support the non-standard [MozOrientation](https://developer.mozilla.org/en/DOM/MozOrientation)https://developer.mozilla.org/en/DOM/MozOrientationorg/en/DOM/MozOrientation event"notes_ ... 8.1+."}{"1":"` ... 8.1+."}"1":"`c ...  8.1+.""`compa ...  8.1+."`compassneedscalibration` supported in IE11 only for compatible devices with Windows 8.1+.`compassneedscalibration` supported in IE11 only for compatible devices with Windows 81+"usage_perc_y":0.51"usage_perc_a":83.7"ie_id" ... motion""device ... motion"deviceorientation,devicemotion"chrome ... 779904""587469 ... 779904"5874690627207168,5556931766779904script-defer"defer  ... cripts"defer attribute for external scriptsThe boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first"spec": ... -defer""https: ... -defer"https://html.spec.whatwg.org/multipage/scripting.html#attr-script-deferhtml#attr-script-defer"url":" ... -defer"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-deferjs#script-defer"url":" ... /defer""http:/ ... /defer"http://docs.webplatform.org/wiki/html/attributes/deferorg/wiki/html/attributes/defer"notes" ... ssue).""Partia ... ssue)."Partial support in older IE refers to a buggy implementation (see issue).Partial support in older IE refers to a buggy implementation (see issue)see issue"usage_perc_y":89.69"usage_perc_a":4.16"nav-ti ... 67360"}nav-timing{"title ... 67360"}"title" ... ng API""Naviga ... ng API"Navigation Timing API"API fo ... ments."API for accessing timing information related to navigation and elements.API for accessing timing information related to navigation and elements"spec": ... iming/""http:/ ... iming/"http://www.w3.org/TR/navigation-timing/org/TR/navigation-timing/"url":" ... Timing""https: ... Timing"https://developer.mozilla.org/en/API/navigationTimingorg/en/API/navigationTiminghttp://www.html5rocks.com/en/tutorials/webperformance/basics/com/en/tutorials/webperformance/basics/"url":" ... timing""http:/ ... timing"http://docs.webplatform.org/wiki/apis/navigation_timingorg/wiki/apis/navigation_timing"notes" ... mance.""Remove ... mance."Removed in iOS 8.1 due to poor performance.Removed in iOS 81 due to poor performance"usage_perc_y":81.97"keywor ... timing""perfor ... timing"performance,performance.timingperformance,performance"ie_id" ... ingapi""naviga ... ingapi"navigationtimingapi"chrome ... 567360"5584144679567360"audio- ... 84320"}audio-api{"title ... 84320"}"title" ... io API"Web Audio API"descri ...  audio""High-l ...  audio"High-level JavaScript API for processing and synthesizing audio"spec": ... audio/""http:/ ... audio/"http://www.w3.org/TR/webaudio/org/TR/webaudio/"links" ... lash"}][{"url" ... lash"}]"url":" ... ode.js""https: ... ode.js"https://github.com/corbanbrook/audionode.jscom/corbanbrook/audionode"Polyfi ... irefox"Polyfill to support Web Audio API in Firefox"url":" ... baudio""http:/ ... baudio"http://docs.webplatform.org/wiki/apis/webaudioorg/wiki/apis/webaudio{"url": ... tures"}"url":" ... ility/""http:/ ... ility/"http://www.doboism.com/projects/webaudio-compatibility/doboismcom/projects/webaudio-compatibility/"Additi ... atures"Additional browser compatibility tests for specific features{"url": ... flash"}"url":" ... APISim""https: ... APISim"https://github.com/g200kg/WAAPISimcom/g200kg/WAAPISim"title" ...  flash""Polyfi ...  flash"Polyfill to enable Web Audio API through Firefox Audio Data api or flash"notes" ... on 36.""Firefo ... on 36."Firefox versions < 25 support an alternative, deprecated audio API.

Chrome support [went through some changes](http://updates.html5rocks.com/2014/07/Web-Audio-Changes-in-m36) as of version 36.Firefox versions < 25 support an alternative, deprecated audio API

Chrome support [went through some changes](http://updates.html5rocks.com/2014/07/Web-Audio-Changes-in-m36)http://updates.html5rocks.com/2014/07/Web-Audio-Changes-in-m36com/2014/07/Web-Audio-Changes-in-m36 as of version 36"usage_perc_y":68.03"keywor ... -audio"web-audio"ie_id" ... dioapi"webaudioapi"chrome ... 184320"6261718720184320"css-re ... 72800"}css-regions{"title ... 72800"}"title" ... egions"CSS RegionsMethod of flowing content into multiple elements.Method of flowing content into multiple elements"spec": ... gions/""http:/ ... gions/"http://www.w3.org/TR/css3-regions/org/TR/css3-regions/"url":" ... gions/"http://html.adobe.com/webstandards/cssregions/http://htmlcom/webstandards/cssregions/"Adobe  ... amples"Adobe demos and samples{"url": ...  info"}"url":" ... nected""http:/ ... nected"http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnectedcom/en-us/ie/hh272902#_CSSConnected"title" ... e info""IE10 d ... e info"IE10 developer guide info"url":" ... region""http:/ ... region"http://docs.webplatform.org/wiki/css/atrules/@regionorg/wiki/css/atrules/@region"19":"n d"n d"20":"n d""21":"n d""22":"n d""23":"n d""24":"n d""25":"n d""26":"n d""27":"n d""28":"n d""29":"n d""30":"n d""31":"n d""32":"n d""33":"n d""34":"n d""notes" ... ntax. ""Suppor ... ntax. "Support in IE10 and IE11 is limited to using an iframe as a content source with the `-ms-flow-into: flow_name;` and `-ms-flow-from: flow_name;` syntax. Support in IE10 and IE11 is limited to using an iframe as a content source with the `-ms-flow-into: flow_name;` and `-ms-flow-from: flow_name;` syntax"usage_perc_y":14.47"usage_perc_a":10.06"ie_id":"regions"regions"chrome ... 372800"5655612935372800"spellc ... id":""}"spellc ... ribute"spellcheck-attribute"Spellc ... ribute"Spellcheck attribute"descri ... ecker.""Attrib ... ecker."Attribute for `input`/`textarea` fields to enable/disable the browser's spellchecker.Attribute for `input`/`textarea` fields to enable/disable the browser's spellchecker"spec": ... ecking""https: ... ecking"https://html.spec.whatwg.org/multipage/interaction.html#spelling-and-grammar-checkinghtml#spelling-and-grammar-checking"url":" ... _forms""https: ... _forms"https://developer.mozilla.org/en-US/docs/Web/HTML/Controlling_spell_checking_in_HTML_formsControlling_spell_checking_in_HTML_formsorg/en-US/docs/Web/HTML/Controlling_spell_checking_in_HTML_formsControlling_spell_checking_in_HTML_forms"notes" ... wsers.""The pa ... wsers."The partial support in mobile browsers results from their OS generally having built-in spell checking instead of using the wavy underline to indicate misspelled words. `spellcheck="false"` does not seem to have any effect in these browsers.The partial support in mobile browsers results from their OS generally having built-in spell checking instead of using the wavy underline to indicate misspelled words `spellcheck="false"` does not seem to have any effect in these browsers"usage_perc_y":60.63"usage_perc_a":32.2"keywor ... elling"spelling"fullsc ... 66496"}{"title ... 66496"}"title" ... en API"Full Screen API"descri ... creen.""API fo ... creen."API for allowing content (like a video or canvas element) to take up the entire screen.API for allowing content (like a video or canvas element)like a video or canvas element to take up the entire screen"spec": ... creen/""http:/ ... creen/"http://www.w3.org/TR/fullscreen/org/TR/fullscreen/"url":" ... n_mode""https: ... n_mode"https://developer.mozilla.org/en/DOM/Using_full-screen_modeorg/en/DOM/Using_full-screen_modehttp://jlongster.com/2011/11/21/canvas.htmlhttp://jlongstercom/2011/11/21/canvas"url":" ... wsers/""http:/ ... wsers/"http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/org/2012/01/using-the-fullscreen-api-in-web-browsers/"url":" ... screen""http:/ ... screen"http://docs.webplatform.org/wiki/dom/Element/requestFullscreenorg/wiki/dom/Element/requestFullscreen"firefo ...  x #1"}{"2":"n ...  x #1"}"22":"a x #1""23":"a x #1""24":"a x #1""25":"a x #1""26":"a x #1""27":"a x #1""28":"a x #1""29":"a x #1""30":"a x #1""31":"a x #1""32":"a x #1""33":"a x #1""34":"a x #1""35":"a x #1""36":"a x #1""37":"a x #1""38":"a x #1""39":"a x #1""40":"a x #1""chrome ...  x #2"}{"4":"n ...  x #2"}"20":"a x #2""21":"a x #2""22":"a x #2""23":"a x #2""24":"a x #2""25":"a x #2""26":"a x #2""27":"a x #2""28":"a x #2""29":"a x #2""30":"a x #2""31":"a x #2""32":"a x #2""33":"a x #2""34":"a x #2""35":"a x #2""36":"a x #2""37":"a x #2""38":"a x #2""39":"a x #2""40":"a x #2""41":"a x #2""42":"a x #2""43":"a x #2""44":"a x #2""safari ...  x #2"}{"3.1": ...  x #2"}"6.1":"a x #2""7.1":"a x #2""opera" ...  x #2"}{"9":"n ...  x #2"}"15":"a x #2""16":"a x #2""17":"a x #2""18":"a x #2""19":"a x #2""bb":{" ...  x #2"}{"7":"n ...  x #2"}"op_mob ...  x #2"}"and_ch ...  x #2"}{"41":"a x #2"}"and_ff ...  x #1"}{"36":"a x #1"}"ie_mob ... :"y x"}"notes_ ... een`."}{"1":"P ... een`."}"1":"Pa ...  spec.""Partia ...  spec."Partial support refers to supporting an earlier draft of the spec.Partial support refers to supporting an earlier draft of the spec"2":"Pa ... reen`.""Partia ... reen`."Partial support refers to not supporting `::backdrop`, and supporting the old `:full-screen` syntax rather than the standard `:fullscreen`.Partial support refers to not supporting `::backdrop`, and supporting the old `:full-screen` syntax rather than the standard `:fullscreen`"usage_perc_y":8.7"usage_perc_a":61.74"keywor ... screen"full-screen"ie_id" ... eenapi"fullscreenapi"chrome ... 466496"5259513871466496"css-ex ... 73152"}css-exclusions{"title ... 73152"}"title" ... evel 1""CSS Ex ... evel 1"CSS Exclusions Level 1"Exclus ... ement."Exclusions defines how inline content flows around elements. It extends the content wrapping ability of floats to any block-level element.Exclusions defines how inline content flows around elements It extends the content wrapping ability of floats to any block-level element"spec": ... sions/""http:/ ... sions/"http://www.w3.org/TR/css3-exclusions/org/TR/css3-exclusions/"links" ... ions"}][{"url" ... ions"}]{"url": ... sions"}"https: ... ).aspx"https://msdn.microsoft.com/en-us/library/ie/hh673558(v=vs.85).aspxhttps://msdncom/en-us/library/ie/hh673558"title" ... usions"CSS Exclusions"usage_perc_y":9.99"keywor ... hrough""floats ... hrough"floats,exclusions,wrap-flow,wrap-through"ie_id":"exclusions"exclusions"chrome ... 273152"6296903092273152"reques ... 06816"}"reques ... nframe"requestanimationframe{"title ... 06816"}"title" ... nFrame""reques ... nFrame""descri ... eouts.""API al ... eouts."API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts.API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts"spec": ... nFrame""http:/ ... nFrame"http://www.w3.org/TR/animation-timing/#requestAnimationFrameorg/TR/animation-timing/#requestAnimationFrame"url":" ... ating/""http:/ ... ating/"http://paulirish.com/2011/requestanimationframe-for-smart-animating/http://paulirishcom/2011/requestanimationframe-for-smart-animating/"url":" ... frame/""http:/ ... frame/"http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/"url":" ... nFrame"http://docs.webplatform.org/wiki/dom/Window/requestAnimationFrameorg/wiki/dom/Window/requestAnimationFrame"usage_perc_y":86.54"ie_id" ... nframe""chrome ... 306816"5233400470306816"input- ... id":""}input-range"title" ... t type"Range input type"descri ... idget.""Form f ... idget."Form field type that allows the user to select a value using a slider widget.Form field type that allows the user to select a value using a slider widget"spec": ... range)""https: ... range)"https://html.spec.whatwg.org/multipage/forms.html#range-state-(type=range)html#range-state-(type=range)type=range"url":" ... slider""https: ... slider"https://github.com/fryn/html5slidercom/fryn/html5sliderPolyfill for Firefoxhttps://github.com/freqdec/fd-slidercom/freqdec/fd-slider"Cross- ... lyfill"Cross-browser polyfill"url":" ... input/""http:/ ... input/"http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/http://tutorialzinecom/2011/12/what-you-need-to-know-html5-range-input/"url":" ... -range""https: ... -range"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-rangejs/master/detect/formjs#input-type-range"url":" ... /range""http:/ ... /range"http://docs.webplatform.org/wiki/html/elements/input/type/rangeorg/wiki/html/elements/input/type/range"url":" ... der.js""https: ... der.js"https://github.com/andreruffert/rangeslider.jscom/andreruffert/rangeslider"ranges ... lyfill"rangeslider.js polyfillrangesliderjs polyfill"notes" ... sable.""Curren ... sable."Currently all Android browsers with partial support hide the slider input field by default. However, the element [can be styled](http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/) to be made visible and usable.Currently all Android browsers with partial support hide the slider input field by default However, the element [can be styled](http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/)http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/http://tiffanybbrowncom/2012/02/07/input-typerange-and-androids-stock-browser/ to be made visible and usable"usage_perc_y":88.42"usage_perc_a":1.16"keywor ... ange\"""input  ... ange\""input type="range""matchm ... 72992"}matchmedia{"title ... 72992"}"title":"matchMedia""descri ... ument.""API fo ... ument."API for finding out whether or not a media query applies to the document.API for finding out whether or not a media query applies to the document"spec": ... hmedia""http:/ ... hmedia"org/TR/cssom-view/#dom-window-matchmedia"url":" ... ia.js/""https: ... ia.js/"https://github.com/paulirish/matchMedia.js/com/paulirish/matchMedia"matchM ... lyfill"matchMedia.js polyfill"url":" ... hMedia""https: ... hMedia"https://developer.mozilla.org/en/DOM/window.matchMedia"url":" ... m_code""https: ... m_code"https://developer.mozilla.org/en/CSS/Using_media_queries_from_codeorg/en/CSS/Using_media_queries_from_codeMDN tutorial"http:/ ... hMedia"http://docs.webplatform.org/wiki/css/media_queries/apis/matchMediaorg/wiki/css/media_queries/apis/matchMedia"usage_perc_y":89.57"keywor ... rylist"mediaquerylist"ie_id":"matchmedia""chrome ... 372992"4677872220372992"input- ... 14592"}input-datetime{"title ... 14592"}"title" ...  types""Date a ...  types"Date and time input types"descri ... cated.""Form f ... cated."Form field widget to easily allow users to enter a date or a time, generally by using a calendar/time input widget. Previously there was also a single field for both date & time, but this has been deprecated.Form field widget to easily allow users to enter a date or a time, generally by using a calendar/time input widget Previously there was also a single field for both date & time, but this has been deprecated"spec": ... =date)""https: ... =date)"https://html.spec.whatwg.org/multipage/forms.html#date-state-(type=date)html#date-state-(type=date)type=date"url":" ... nutes/""http:/ ... nutes/"http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-browser-datepickers-within-minutes/com/tutorials/javascript-ajax/quick-tip-cross-browser-datepickers-within-minutes/"Datepi ... lyfill"Datepicker tutorial w/polyfill"url":" ... rms.js""https: ... rms.js"https://github.com/zoltan-dulac/html5Forms.jscom/zoltan-dulac/html5Forms"title" ...  forms""Polyfi ...  forms"Polyfill for HTML5 forms"url":" ... -local""https: ... -local"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-datetime;input-type-datetime-localjs#input-type-datetime;input-type-datetime-local"url":" ... e/date""http:/ ... e/date"http://docs.webplatform.org/wiki/html/elements/input/type/dateorg/wiki/html/elements/input/type/date"url":" ... 888320""https: ... 888320"https://bugzilla.mozilla.org/show_bug.cgi?id=888320id=888320"ie":{" ...  d #1"}{"5.5": ...  d #1"}"TP":"n d #1""notes" ... ields.""Partia ... ields."Partial support in iOS refers to a lack of support for attributes like step, min, or max.

Older versions of Safari provide date-formatted text fields, but no real calendar widget.

Some modified versions of the Android 4.x browser do have support for date/time fields.Partial support in iOS refers to a lack of support for attributes like step, min, or max

Older versions of Safari provide date-formatted text fields, but no real calendar widget

Some modified versions of the Android 4x browser do have support for date/time fields"notes_ ... ypes."}{"1":"P ... ypes."}"1":"Pa ... types.""Partia ... types."Partial support can be enabled in EdgeHTML.dll using the `HTML5 date and time input types` flag in `about:flags`. This enables the `date`, `week`, and `month` input types.Partial support can be enabled in EdgeHTMLdll using the `HTML5 date and time input types` flag in `about:flags` This enables the `date`, `week`, and `month` input types"usage_perc_y":61.23"keywor ... time\"""datepi ... time\""datepicker,timepicker,input type="date",input type="time""ie_id" ... ttypes""datere ... ttypes"daterelatedinputtypes,timerelatedinputtypes"chrome ... 214592"6640933999214592input-colorColor input type"descri ... color.""Form f ... color."Form field allowing the user to select a color.Form field allowing the user to select a color"spec": ... color)""https: ... color)"https://html.spec.whatwg.org/multipage/forms.html#color-state-(type=color)html#color-state-(type=color)type=color"url":" ... or.php""http:/ ... or.php"http://www.html5tutorial.info/html5-color.phphtml5tutorialinfo/html5-colorhttps://github.com/jonstipe/color-polyfillcom/jonstipe/color-polyfill"url":" ... /color""http:/ ... /color"http://docs.webplatform.org/wiki/html/elements/input/type/colororg/wiki/html/elements/input/type/color"usage_perc_y":61.09"keywor ... olor\"""colour ... olor\""colour,input type="color"input-numberNumber input type"descri ... mbers.""Form f ... mbers."Form field type for numbers.Form field type for numbers"spec": ... umber)""https: ... umber)"https://html.spec.whatwg.org/multipage/forms.html#number-state-(type=number)html#number-state-(type=number)type=number"url":" ... er.php""http:/ ... er.php"http://www.html5tutorial.info/html5-number.phpinfo/html5-numberhttps://github.com/jonstipe/number-polyfillcom/jonstipe/number-polyfill"url":" ... number""https: ... number"https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-numberjs#input-type-number"http:/ ... number"http://docs.webplatform.org/wiki/html/elements/input/type/numberorg/wiki/html/elements/input/type/number"iOS Sa ... ments."iOS Safari, Android 4, Chrome for Android show number input, but do not use "step", "min" or "max" attributes or show increment/decrement buttons. Internet Explorer 10 and 11 do not show increment/decrement buttons. Firefox doesn't support [autocomplete content via datalist](http://codepen.io/graste/pen/bNoVKW) elements.iOS Safari, Android 4, Chrome for Android show number input, but do not use "step", "min" or "max" attributes or show increment/decrement buttons Internet Explorer 10 and 11 do not show increment/decrement buttons[autocomplete content via datalist] elements"usage_perc_y":50.43"usage_perc_a":38.49"keywor ... mber\"""spinne ... mber\""spinner,input type="number""iframe ... 86592"}iframe-sandbox{"title ... 86592"}"title" ... frames""sandbo ... frames"sandbox attribute for iframes"descri ... rames.""Method ... rames."Method of running external site pages with reduced privileges (e.g. no JavaScript) in iframes.Method of running external site pages with reduced privileges (e.g. no JavaScript)e.g. no JavaScript no JavaScript in iframes"spec": ... andbox""https: ... andbox"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-sandboxhtml#attr-iframe-sandboxhttp://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.htmlorg/2010/05/security-in-depth-html5s-sandbox"Chromi ... rticle"Chromium blog article"url":" ... 563496""http:/ ... 563496"http://msdn.microsoft.com/en-us/hh563496com/en-us/hh563496"url":" ... andbox""http:/ ... andbox"http://docs.webplatform.org/wiki/html/attributes/sandboxorg/wiki/html/attributes/sandbox"usage_perc_y":88.83"usage_perc_a":0.59"ie_id" ... ribute""iframe ... ribute"iframesandboxattribute"chrome ... 086592"5715536319086592"css-co ... id":""}css-counters"title" ... unters"CSS Counters"descri ... rties.""Method ... rties."Method of controlling number values in generated content, using the counter-reset and counter-increment properties.Method of controlling number values in generated content, using the counter-reset and counter-increment properties"spec": ... unters""http:/ ... unters"http://www.w3.org/TR/CSS21/generate.html#countershtml#counters"url":" ... l.html""http:/ ... l.html"http://onwebdev.blogspot.com/2012/02/css-counters-tutorial.htmlhttp://onwebdevcom/2012/02/css-counters-tutorial"Tutori ... mation"Tutorial and information"url":" ... unters""https: ... unters"https://developer.mozilla.org/en/CSS_Countersorg/en/CSS_Counters"url":" ... -reset""http:/ ... -reset"http://docs.webplatform.org/wiki/css/properties/counter-resetorg/wiki/css/properties/counter-reset"css-re ... id":""}css-resize"title" ... operty""CSS re ... operty"CSS resize property"descri ... tion. ""Method ... tion. "Method of allowing an element to be resized by the user, with options to limit to a given direction. Method of allowing an element to be resized by the user, with options to limit to a given direction"spec": ... resize""http:/ ... resize"org/TR/css3-ui/#resize"links" ... zing"}][{"url" ... zing"}]"url":" ... esize/""http:/ ... esize/"http://css-tricks.com/almanac/properties/r/resize/com/almanac/properties/r/resize/"title" ... s info"CSS Tricks info{"url": ... izing"}"url":" ... resize"http://davidwalsh.name/textarea-resizename/textarea-resize"On tex ... sizing"On textarea resizing"Opera  ... ments."Opera 12.10+ currently only supports the resize property for textarea elements. currently only supports the resize property for textarea elements"usage_perc_y":62.24"keywor ... rtical""horizo ... rtical"horizontal,verticalinput-placeholder"input  ... ribute"input placeholder attributeMethod of setting placeholder text for text-like input fields, to suggest the expected inserted information.Method of setting placeholder text for text-like input fields, to suggest the expected inserted information"spec": ... holder""https: ... holder"https://html.spec.whatwg.org/multipage/forms.html#attr-input-placeholderhtml#attr-input-placeholder"links" ... ype="}][{"url" ... ype="}]"url":" ... older/""http:/ ... older/"http://www.zachleat.com/web/placeholder/zachleatcom/web/placeholder/"url":" ... holder"https://github.com/mathiasbynens/jquery-placeholdercom/mathiasbynens/jquery-placeholderhttps://raw.github.com/phiggins42/has.js/master/detect/form.js#input-attr-placeholderjs#input-attr-placeholder"http:/ ... holder"http://docs.webplatform.org/wiki/html/attributes/placeholderorg/wiki/html/attributes/placeholder{"url": ... type="}"url":" ... =24626""https: ... =24626"https://code.google.com/p/android/issues/detail?id=24626https://codeid=24626"title" ...  type=""Issue  ...  type="Issue 24626: Placeholder text for an input type="notes" ... ents. ""Partia ... ents. "Partial support in older Safari and Opera versions refers to lacking placeholder support on textarea elements. Partial support in older Safari and Opera versions refers to lacking placeholder support on textarea elements"usage_perc_y":88.97"usage_perc_a":1.14"spdy": ... 65280"}spdy{"title ... 65280"}"title" ... / SPDY""HTTP/2 ... / SPDY"HTTP/2 protocol / SPDY"descri ... ion 2.""Networ ... ion 2."Networking protocol for low-latency transport of content over the web. Originally started out from the SPDY protocol, now standardized as HTTP version 2.Networking protocol for low-latency transport of content over the web Originally started out from the SPDY protocol, now standardized as HTTP version 2http://http2.github.io/http2-spec/index.htmlhttp://http2io/http2-spec/index"links" ... aper"}][{"url" ... aper"}]"url":" ... HTTP/2""http:/ ... HTTP/2"http://en.wikipedia.org/wiki/HTTP/2org/wiki/HTTP/2{"url": ... paper"}"url":" ... epaper""http:/ ... epaper"http://dev.chromium.org/spdy/spdy-whitepaperhttp://devorg/spdy/spdy-whitepaper"title" ... epaper"SPDY whitepaper"stats" ... ":"u"}}{"ie":{ ... ":"u"}}"and_uc":{"9.9":"u"}{"9.9":"u"}"9.9":"u""usage_perc_y":72.15"usage_perc_a":7.98"keywords":"http2"http2"ie_id":"http2""chrome ... 665280"5152586365665280"css-re ... dients"css-repeating-gradients"CSS Re ... dients"CSS Repeating GradientsMethod of defining a repeating linear or radial color gradient as a CSS image.Method of defining a repeating linear or radial color gradient as a CSS image"spec": ... dients""http:/ ... dients"http://www.w3.org/TR/css3-images/#repeating-gradientsorg/TR/css3-images/#repeating-gradients"https: ... adient"https://developer.mozilla.org/en/CSS/repeating-linear-gradientorg/en/CSS/repeating-linear-gradienthttp://www.css3files.com/gradient/#repeatinglineargradientcom/gradient/#repeatinglineargradienthttp://docs.webplatform.org/wiki/css/repeating-linear-gradientorg/wiki/css/repeating-linear-gradient"Firefo ... yntax."Firefox 10+, Chrome 26+ and Opera 11.6+ also support the new "to (side)" syntax.Firefox 1 and Opera 11"parent ... dients""css-fi ... 87808"}css-filters{"title ... 87808"}CSS Filter Effects"descri ... g SVG.""Method ... g SVG."Method of applying filter effects (like blur, grayscale, brightness, contrast and hue) to elements, previously only possible by using SVG.Method of applying filter effects (like blur, grayscale, brightness, contrast and hue)like blur, grayscale, brightness, contrast and hue to elements, previously only possible by using SVG"spec": ... fects/""links" ... ound"}][{"url" ... ound"}]{"url": ... wsers"}http://html5-demos.appspot.com/static/css/filters/index.htmlcom/static/css/filters/index"title" ... owsers""Demo f ... owsers"Demo file for WebKit browsers"url":" ... g-css/""http:/ ... g-css/"http://www.html5rocks.com/en/tutorials/filters/understanding-css/com/en/tutorials/filters/understanding-css/HTML5Rocks article"url":" ... n.html""http:/ ... n.html"http://dl.dropbox.com/u/3260327/angular/CSS3ImageManipulation.htmlhttp://dldropboxcom/u/3260327/angular/CSS3ImageManipulationFilter editorhttp://bennettfeely.com/filters/com/filters/"title" ... ground"Filter Playground["CSS","CSS3"]"ie":{" ...  d #2"}{"5.5": ...  d #2"}"TP":"n d #2"n d #2"34":"a d #1"a d #1"notes" ... ility)""Note t ... ility)"Note that this property is significantly different from and incompatible with Microsoft's [older "filter" property](http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspx).

Partial support in Firefox before version 34 [only implemented the url() function of the filter property](https://developer.mozilla.org/en-US/docs/Web/CSS/filter#Browser_compatibility)Note that this property is significantly different from and incompatible with Microsoft's [older "filter" property](http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspx)http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspxcom/en-us/library/ie/ms530752%28v=vs

Partial support in Firefox before version 34 [only implemented the url() function of the filter property](https://developer.mozilla.org/en-US/docs/Web/CSS/filter#Browser_compatibility)https://developer.mozilla.org/en-US/docs/Web/CSS/filter#Browser_compatibilityorg/en-US/docs/Web/CSS/filter#Browser_compatibility{"1":"S ... tion."}Supported in Firefox under the `layout.css.filters.enabled` flag.Supported in Firefox under the `layout"2":"Su ... ction.""Suppor ... ction."Supported in Project Spartan under the "Enable CSS filter property" flag. Supports filter functions, but not the `url` function.Supported in Project Spartan under the "Enable CSS filter property" flag Supports filter functions, but not the `url` function"usage_perc_y":73.76"usage_perc_a":2.66"keywor ... turate""sepia, ... turate"sepia,hue-rotate,invert,saturate"ie_id":"filters""chrome ... 887808"5822463824887808"getcom ... id":""}getcomputedstyle"title" ... dStyle""descri ... sheet.""API to ... sheet."API to get the current computed CSS styles applied to an element. This may be the current value applied by an animation or as set by a stylesheet.API to get the current computed CSS styles applied to an element This may be the current value applied by an animation or as set by a stylesheet"spec": ... dstyle""http:/ ... dstyle"http://www.w3.org/TR/cssom/#dom-window-getcomputedstyleorg/TR/cssom/#dom-window-getcomputedstyle"url":" ... dStyle""https: ... dStyle"https://developer.mozilla.org/en/DOM/window.getComputedStyle"url":" ... Style/""http:/ ... Style/"http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/com/testdrive/HTML5/getComputedStyle/"url":" ... 13523/""http:/ ... 13523/"http://snipplr.com/view/13523/http://snipplrcom/view/13523/"http:/ ... dStyle"http://docs.webplatform.org/wiki/css/cssom/methods/getComputedStyleorg/wiki/css/cssom/methods/getComputedStyle["CSS3" ... S API"]Partial support in older Firefox versions refers to requiring the second parameter to be included.

Partial support in all other browsers refers to not supporting getComputedStyle on pseudo-elements.Partial support in older Firefox versions refers to requiring the second parameter to be included

Partial support in all other browsers refers to not supporting getComputedStyle on pseudo-elements"usage_perc_y":91.41"usage_perc_a":3.31"word-b ... id":""}word-break"title" ... -break"CSS3 word-break"descri ... tters.""Proper ... tters."Property to prevent or allow words to be broken over multiple lines between letters.Property to prevent or allow words to be broken over multiple lines between letters"spec": ... -break""http:/ ... -break"http://www.w3.org/TR/css3-text/#word-breakorg/TR/css3-text/#word-break"url":" ... -break""https: ... -break"https://developer.mozilla.org/en/CSS/word-breakorg/en/CSS/word-breakhttp://docs.webplatform.org/wiki/css/properties/word-breakorg/wiki/css/properties/word-break{"7":"a","10":"a"}"notes" ... word`.""Partia ... word`."Partial support refers to supporting the `break-all` value, but not the `keep-all` value.

Chrome, Safari and other WebKit/Blink browsers also support the unofficial `break-word` value which is treated like `word-wrap: break-word`.Partial support refers to supporting the `break-all` value, but not the `keep-all` value

Chrome, Safari and other WebKit/Blink browsers also support the unofficial `break-word` value which is treated like `word-wrap: break-word`"usage_perc_y":26.15"usage_perc_a":67.58"keywor ... ep-all"break-all,keep-all"viewpo ... id":""}viewport-units"title" ... , vmax""Viewpo ... , vmax"Viewport units: vw, vh, vmin, vmax"descri ... vmax).""Length ... vmax)."Length units representing 1% of the viewport size for viewport width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).Length units representing 1% of the viewport size for viewport width (vw)vw, height (vh)vh, the smaller of the two (vmin)vmin, or the larger of the two (vmax)vmaxhttp://www.w3.org/TR/css3-values/#viewport-relative-lengthsorg/TR/css3-values/#viewport-relative-lengths"url":" ... raphy/""http:/ ... raphy/"http://css-tricks.com/viewport-sized-typography/com/viewport-sized-typography/"url":" ... inpoly""https: ... inpoly"https://github.com/saabi/vminpolycom/saabi/vminpoly"url":" ... gyfill""https: ... gyfill"https://github.com/rodneyrehm/viewport-units-buggyfillcom/rodneyrehm/viewport-units-buggyfill"Buggyf ... upport"Buggyfill - Polyfill that fixes buggy supporthttp://blog.rodneyrehm.de/archives/34-iOS7-Mobile-Safari-And-Viewport-Units.htmlrodneyrehmde/archives/34-iOS7-Mobile-Safari-And-Viewport-Units"Back-F ... g post"Back-Forward issue blog post"notes" ... unit. ""Partia ... unit. "Partial support in IE9 refers to supporting "vm" instead of "vmin".

Partial support in iOS7 is due to buggy behavior of the "vh" unit (see [workaround](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587)).

All other partial support refers to not supporting the "vmax" unit. Partial support in IE9 refers to supporting "vm" instead of "vmin"

Partial support in iOS7 is due to buggy behavior of the "vh" unit (see [workaround](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587))see [workaround](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587)see [workaround](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587)https://gist.github.com/pburtchaell/e702f441ba9b3f76f587com/pburtchaell/e702f441ba9b3f76f587

All other partial support refers to not supporting the "vmax" unit"usage_perc_y":69.97"usage_perc_a":13.31"keywor ... entage""vm,vie ... entage"vm,viewport-percentage"conten ... 91584"}"conten ... policy"contentsecuritypolicy{"title ... 91584"}"title" ... cy 1.0""Conten ... cy 1.0"Content Security Policy 1.0Content Security Policy 1"descri ... urces.""Mitiga ... urces."Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources.Mitigate cross-site scripting attacks by whitelisting allowed sources of script, style, and other resources"spec": ... R/CSP/""http:/ ... R/CSP/"http://www.w3.org/TR/CSP/org/TR/CSP/"url":" ... olicy/""http:/ ... olicy/"http://html5rocks.com/en/tutorials/security/content-security-policy/http://html5rockscom/en/tutorials/security/content-security-policy/http://content-security-policy.com/http://content-security-policy"CSP Ex ... erence"CSP Examples & Quick Reference"14":"y #2""15":"y #2""16":"y #2""17":"y #2""18":"y #2""19":"y #2""20":"y #2""21":"y #2""22":"y #2""23":"y #2""24":"y #2""6":"y #2""6.1":"y #2""5.0-5.1":"a #2""6.0-6.1":"y #2""bb":{" ... "y #2"}{"7":"n ... "y #2"}"notes" ... noted.""The st ... noted."The standard HTTP header is `Content-Security-Policy` which is used unless otherwise noted.The standard HTTP header is `Content-Security-Policy` which is used unless otherwise noted"notes_ ... eader"}{"1":"S ... eader"}"1":"Su ... header""Suppor ... header"Supported through the `X-Content-Security-Policy` header"2":"Su ... header"Supported through the `X-Webkit-CSP` header"usage_perc_y":76.41"usage_perc_a":10.36"keywor ... header""csp,se ... header"csp,security,header"ie_id" ... policy""chrome ... 891584"5205088045891584"pagevi ... 33856"}pagevisibility{"title ... 33856"}"title" ... bility"Page Visibility"descri ... isplay""JavaSc ... isplay"JavaScript API for determining whether a document is visible on the display"spec": ... ility/"http://www.w3.org/TR/page-visibility/org/TR/page-visibility/"url":" ... ty_API""https: ... ty_API"https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_APIorg/en-US/docs/DOM/Using_the_Page_Visibility_API"url":" ... yState""http:/ ... yState"http://docs.webplatform.org/wiki/apis/timing/properties/visibilityStateorg/wiki/apis/timing/properties/visibilityState"url":" ... y-api/""http:/ ... y-api/"http://www.sitepoint.com/introduction-to-page-visibility-api/com/introduction-to-page-visibility-api/http://aurelio.audero.it/demo/page-visibility-api-demo.htmlit/demo/page-visibility-api-demo"usage_perc_y":86.36"keywor ... ystate"visibilitystate"ie_id" ... ityapi"pagevisibilityapi"chrome ... 833856"5689697795833856"strict ... 32288"}"strict ... curity"stricttransportsecurity"title" ... curity""Strict ... curity"Strict Transport Security"descri ... TTPS).""Declar ... TTPS)."Declare that a website is only accessible over a secure connection (HTTPS).Declare that a website is only accessible over a secure connection (HTTPS)HTTPS"spec": ... fc6797""http:/ ... fc6797"http://tools.ietf.org/html/rfc6797http://toolsorg/html/rfc6797"url":" ... rg/sts""http:/ ... rg/sts"http://dev.chromium.org/stsorg/stsChromium article"url":" ... curity""https: ... curity"https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Securityorg/en-US/docs/Security/HTTP_Strict_Transport_Securityhttps://www.owasp.org/index.php/HTTP_Strict_Transport_Securityowasporg/indexphp/HTTP_Strict_Transport_SecurityOWASP article"7.0-7.1":"u""notes" ... rity'.""The HT ... rity'."The HTTP header is 'Strict-Transport-Security'.The HTTP header is 'Strict-Transport-Security'"usage_perc_y":70.86"sts,hs ... header"sts,hsts,security,header"ie_id" ... tyhsts""httpst ... tyhsts"httpstricttransportsecurityhsts"chrome ... 132288"4941480133132288"style- ... 62144"}style-scoped{"title ... 62144"}"title":"Scoped CSS"Scoped CSS"Allows ... ement."Allows CSS rules to be scoped to part of the document, based on the position of the style element.Allows CSS rules to be scoped to part of the document, based on the position of the style element"spec": ... scoped""https: ... scoped"https://html.spec.whatwg.org/multipage/semantics.html#attr-style-scopedhtml#attr-style-scopedhttps://github.com/PM5544/scoped-polyfillcom/PM5544/scoped-polyfill"url":" ... ibute/""http:/ ... ibute/"http://html5doctor.com/the-scoped-attribute/com/the-scoped-attribute/"url":" ... scoped""http:/ ... scoped"http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scopedcom/2012/03/A-New-Experimental-Feature-style-scoped["CSS","HTML5"]"20":"n d #1""21":"n d #1""22":"n d #1""23":"n d #1""24":"n d #1""12.1":"u""notes_ ... flags"}{"1":"E ... flags"}"usage_perc_y":16.04"keywords":"scope""ie_id" ... styles"scopedstyles"chrome ... 662144"5374137958662144"svg-fr ... id":""}svg-fragment"title" ... ifiers""SVG fr ... ifiers"SVG fragment identifiers"descri ... ifier.""Method ... ifier."Method of displaying only a part of an SVG image by defining a view ID or view box dimensions as the file's fragment identifier.Method of displaying only a part of an SVG image by defining a view ID or view box dimensions as the file's fragment identifier"spec": ... ifiers""http:/ ... ifiers"http://www.w3.org/TR/SVG/linking.html#SVGFragmentIdentifiersorg/TR/SVG/linkinghtml#SVGFragmentIdentifiers"url":" ... fiers/""http:/ ... fiers/"http://www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-identifiers/com/2012/08/14/better-svg-sprites-with-fragment-identifiers/{"9":"u ... 9":"y"}"9":"u""9.5-9.6":"u""10.0-10.1":"u""10.5":"u""10.6":"u""11.1":"u""11.5":"u""11.6":"u""12":"u""keywor ... sprite"fragments,sprite"outlin ... id":""}"title" ... utline"CSS outline"descri ... nient.""The CS ... nient."The CSS outline property is a shorthand property for setting one or more of the individual outline properties outline-style, outline-width and outline-color in a single rule. In most cases the use of this shortcut is preferable and more convenient.The CSS outline property is a shorthand property for setting one or more of the individual outline properties outline-style, outline-width and outline-color in a single rule In most cases the use of this shortcut is preferable and more convenient"spec": ... utline""http:/ ... utline"http://www.w3.org/TR/CSS2/ui.html#propdef-outlineorg/TR/CSS2/uihtml#propdef-outline"links" ... line"}][{"url" ... line"}]{"url": ... vel 3"}"url":" ... utline"http://dev.w3.org/csswg/css3-ui/#outlineorg/csswg/css3-ui/#outline"title" ... evel 3""CSS Ba ... evel 3"CSS Basic User Interface Module Level 3{"url": ... tline"}"https: ... utline"https://developer.mozilla.org/en-US/docs/CSS/outlineorg/en-US/docs/CSS/outline"Mozill ... utline"Mozilla Developer Network: outline"notes_ ... sers)"}{"1":"A ... sers)"}"1":"Al ... wsers)""Also s ... wsers)"Also supports the value of `invert` for `outline-color`. (support of this value is optional for browsers)Also supports the value of `invert` for `outline-color`(support of this value is optional for browsers)support of this value is optional for browsers"usage_perc_y":94.28"-moz-o ... -color"-moz-outline,outline-width,outline-style,outline-color"downlo ... 45088"}{"title ... 45088"}Download attribute"descri ... to it.""When u ... to it."When used on an anchor, this attribute signifies that the browser should download the resource the anchor points to rather than navigate to it.When used on an anchor, this attribute signifies that the browser should download the resource the anchor points to rather than navigate to it"spec": ... ources""https: ... ources"https://html.spec.whatwg.org/multipage/semantics.html#downloading-resourceshtml#downloading-resources"links" ...  it."}][{"url" ...  it."}]"url":" ... wnload""http:/ ... wnload"http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-downloadcom/2011/08/Downloading-resources-in-HTML5-a-downloadHTML5Rocks post{"url": ... g it."}"url":" ... d.html""http:/ ... d.html"http://html5-demos.appspot.com/static/a.download.htmlcom/static/a"title" ... ng it.""Demo:  ... ng it."Demo: creating a text file and downloading it.Demo: creating a text file and downloading it"usage_perc_y":61.36"downlo ... ribute"download,a.download,a[download],download attributedownload,a[download],download attributeadownloadattribute"chrome ... 345088"6473924464345088"pointe ... 98272"}pointer{"title ... 98272"}Pointer events"This s ... perty."This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier. Not to be mistaken with the unrelated "pointer-events" CSS property.This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier Not to be mistaken with the unrelated "pointer-events" CSS propertyhttp://www.w3.org/TR/pointerevents/org/TR/pointerevents/com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps"title" ... n IE10""Implem ... n IE10"Implementation of Pointer Events in IE10{"url": ... vents"}"url":" ... r.aspx""http:/ ... r.aspx"http://blogs.msdn.com/b/eternalcoding/archive/2013/01/16/hand-js-a-polyfill-for-supporting-pointer-events-on-every-browser.aspxcom/b/eternalcoding/archive/2013/01/16/hand-js-a-polyfill-for-supporting-pointer-events-on-every-browser"title" ... Events""Hand.j ... Events"Hand.js, the polyfill for browsers only supporting Touch EventsHandjs, the polyfill for browsers only supporting Touch Events"url":" ... 8.aspx""http:/ ... 8.aspx"http://blogs.msdn.com/b/davrous/archive/2013/02/20/handling-touch-in-your-html5-apps-thanks-to-the-pointer-events-of-ie10-and-windows-8.aspxcom/b/davrous/archive/2013/02/20/handling-touch-in-your-html5-apps-thanks-to-the-pointer-events-of-ie10-and-windows-8{"4":"n ... 4":"p"}"notes" ... on 28.""Partia ... on 28."Partial support in IE10 refers the lack of pointerenter and pointerleave events. Firefox Nightly provides 'dom.w3c_pointer_events.enabled' option to support this specification starting with version 28.Partial support in IE10 refers the lack of pointerenter and pointerleave events Firefox Nightly provides 'domenabled' option to support this specification starting with version 28"usage_perc_y":8.49"usage_perc_a":1.5"keywor ... rleave""pointe ... rleave"pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerenter,pointerleave"chrome ... 998272"4504699138998272"user-s ... id":""}user-select-none"title" ... : none""CSS us ... : none"CSS user-select: none"descri ...  CSS. ""Method ...  CSS. "Method of preventing text/element selection using CSS. Method of preventing text/element selection using CSS"spec": ... select""https: ... select"https://developer.mozilla.org/en-US/docs/CSS/user-selectorg/en-US/docs/CSS/user-select"url":" ... select""url":" ... elect/""http:/ ... elect/"http://css-tricks.com/almanac/properties/u/user-select/com/almanac/properties/u/user-select/CSS Tricks articlehttp://msdn.microsoft.com/en-us/library/ie/hh781492(v=vs.85).aspxcom/en-us/library/ie/hh781492MSDN Documentation{"2":"y ... :"y x"}{"4":"u ... :"y x"}"notes" ... thers.""Curren ... thers."Currently the user-select property does not appear in any W3C specification. Support information here is only for "none" value, not others.Currently the user-select property does not appear in any W3C specification Support information here is only for "none" value, not others"usage_perc_y":89.94"webp": ... 81152"}webp{"title ... 81152"}WebP image format"descri ... rency.""Image  ... rency."Image format that supports lossy and lossless compression, as well as animation and alpha transparency.Image format that supports lossy and lossless compression, as well as animation and alpha transparency"spec": ... /webp/""https: ... /webp/"https://developers.google.com/speed/webp/https://developerscom/speed/webp/"links" ... ebP?"}][{"url" ... ebP?"}]"url":" ... /webp/"http://antimatter15.github.io/weppy/demo.htmlhttp://antimatter15io/weppy/demo"Polyfi ... upport"Polyfill for browsers with WebM support{"url": ... in JS"}"url":" ... t.com/""http:/ ... t.com/"http://libwebpjs.appspot.com/http://libwebpjs"title" ...  in JS"Decoder in JS{"url": ... d bel"}http://webpjs.appspot.com/http://webpjs"title" ... nd bel""Polyfi ... nd bel"Polyfill for browsers with or without WebM support (i.e. IE6-IE9, Safari/iOS version 6.1 and below; Firefox versions 24 and bel{"url": ... WebP?"}"url":" ... t_webp""https: ... t_webp"https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webpcom/speed/webp/faq#which_web_browsers_natively_support_webp"title" ...  WebP?""Offici ...  WebP?"Official website FAQ - Which web browsers natively support WebP?Official website FAQ - Which web browsers natively support WebP?"notes" ... a 19+.""Partia ... a 19+."Partial support in older Chrome, Opera and Android refers to browser not supporting lossless and alpha versions of WebP. Animated webp images are supported in Chrome 32+ and Opera 19+.Partial support in older Chrome, Opera and Android refers to browser not supporting lossless and alpha versions of WebP Animated webp images are supported in Chrome 3 and Opera 1"usage_perc_y":57.97"usage_perc_a":1.52"webpim ... upport"webpimageformatsupport"chrome ... 081152""647172 ... 081152"6471725441089536,4785074604081152"intrin ... 80736"}intrinsic-width{"title ... 80736"}"title" ... Sizing""Intrin ... Sizing"Intrinsic & Extrinsic Sizing"Allows ... rties."Allows for the heights and widths to be specified in intrinsic values using the fill-available, max-content, min-content, and fit-content properties.Allows for the heights and widths to be specified in intrinsic values using the fill-available, max-content, min-content, and fit-content properties"spec": ... izing/"http://www.w3.org/TR/css3-sizing/org/TR/css3-sizing/http://demosthenes.info/blog/662/Design-From-the-Inside-Out-With-CSS-MinContenthttp://demosthenesinfo/blog/662/Design-From-the-Inside-Out-With-CSS-MinContent"Min-Co ... torial"Min-Content tutorial"notes" ... ble\".""Prefix ... ble\"."Prefixes are on the values, not the property names (e.g. -webkit-min-content) Firefox currently supports the "-moz-available" property rather than "-moz-fill-available".Prefixes are on the values, not the property names (e.g. -webkit-min-content)e.g. -webkit-min-content -webkit-min-content Firefox currently supports the "-moz-available" property rather than "-moz-fill-available""usage_perc_y":71.82"keywor ... floats""fill-a ... floats"fill-available,max-content,min-content,fit-content,contain-floats"ie_id" ... sizing"cssintrinsicsizing"chrome ... 180736"5901353784180736"crypto ... 75200"}cryptography{"title ... 75200"}"title" ... graphy"Web Cryptography"descri ... ations""JavaSc ... ations"JavaScript API for performing basic cryptographic operations in web applications"spec": ... toAPI/""http:/ ... toAPI/"org/TR/WebCryptoAPI/"links" ... rary"}][{"url" ... rary"}]{"url": ... o API"}"url":" ... to-api""http:/ ... to-api"http://www.slideshare.net/Channy/the-history-and-status-of-web-crypto-apislidesharenet/Channy/the-history-and-status-of-web-crypto-api"title" ... to API""The Hi ... to API"The History and Status of Web Crypto API"url":" ... rypto/""http:/ ... rypto/"http://research.microsoft.com/en-us/projects/msrjscrypto/http://researchcom/en-us/projects/msrjscrypto/"Micros ... ibrary"Microsoft Research JavaScript Cryptography Library"url":" ... /sjcl/""http:/ ... /sjcl/"http://bitwiseshiftleft.github.io/sjcl/http://bitwiseshiftleftio/sjcl/"Cross- ... ibrary"Cross-browser cryptography library"firefo ... "a #4"}{"2":"p ... "a #4"}"32":"n d #2""33":"n d #2""34":"a #4"a #4"35":"a #4""36":"a #4""37":"a #4""38":"a #4""39":"a #4""40":"a #4""safari ...  x #3"}{"3.1": ...  x #3"}"7.1":"y x #3"y x #3"8":"y x #3""ios_sa ...  x #3"}{"3.2": ...  x #3"}"8.1-8.3":"y x #3""ie_mob ...  x #1"}{"10":" ...  x #1"}"notes" ... 3032))""Many b ... 3032))"Many browsers support the `[crypto.getRandomValues()](#feat=getrandomvalues)` method, but not actual cryptography functionality under `crypto.subtle`. 

Firefox also has support for [unofficial features](https://developer.mozilla.org/en-US/docs/JavaScript_crypto). 

In Chrome the API is only usable over secure connections. ([corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032))Many browsers support the `[crypto.getRandomValues()]V(#feat=getrandomvalues)#feat=getrandomvalues` method, but not actual cryptography functionality under `cryptosubtle` 

Firefox also has support for [unofficial features](https://developer.mozilla.org/en-US/docs/JavaScript_crypto)https://developer.mozilla.org/en-US/docs/JavaScript_cryptoorg/en-US/docs/JavaScript_crypto 

In Chrome the API is only usable over secure connections([corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032))[corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032)[corresponding bug](https://code.google.com/p/chromium/issues/detail?id=373032)https://code.google.com/p/chromium/issues/detail?id=373032com/p/chromium/issues/detaiid=373032"notes_ ... id=1)"}{"1":"S ... id=1)"}"1":"Su ... tion. ""Suppor ... tion. "Support in IE11 is based an older version of the specification. Support in IE11 is based an older version of the specification"2":"Su ... flag. ""Suppor ... flag. "Supported in Firefox behind the `dom.webcrypto.enabled` flag. webcrypto"3":"Su ... prefix""Suppor ... prefix"Supported in Safari using the `crypto.webkitSubtle` prefixSupported in Safari using the `cryptowebkitSubtle` prefix"4":"Pa ... gid=1)""Partia ... gid=1)"Partial support in Firefox is [described here](https://docs.google.com/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidUVoU3FQbFFobkE#gid=1)Partial support in Firefox is [described here](https://docs.google.com/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidUVoU3FQbFFobkE#gid=1)https://docs.google.com/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidUVoU3FQbFFobkE#gid=1https://docscom/spreadsheet/ccc?key=0AiAcidBZRLxndE9LWEs2R1oxZ0xidUVoU3FQbFFobkE#gid=1"usage_perc_y":50.55"usage_perc_a":18.23"keywor ... crypto""subtle ... crypto"subtle,subtlecrypto"ie_id" ... ptoapi"webcryptoapi"chrome ... 075200"5030265697075200"templa ... 47136"}{"title ... 47136"}"title" ... plates"HTML templates"descri ... loned.""Method ... loned."Method of declaring a portion of reusable markup that is parsed but not rendered until cloned.Method of declaring a portion of reusable markup that is parsed but not rendered until clonedhttps://html.spec.whatwg.org/multipage/scripting.html#the-template-elementhtml#the-template-element"links" ... ork)"}][{"url" ... ork)"}]{"url": ... e Tag"}"url":" ... plate/""http:/ ... plate/"http://www.html5rocks.com/en/tutorials/webcomponents/template/com/en/tutorials/webcomponents/template/"title" ... te Tag""HTML5R ... te Tag"HTML5Rocks - HTML's New template Tag{"url": ... work)"}http://polymer-project.orghttp://polymer-project"title" ... ework)""Polyme ... ework)"Polymer project (polyfill & web components framework)Polymer project (polyfill & web components framework)polyfill & web components framework"usage_perc_y":68.81"keywor ... mplate""web co ... mplate"web components, templatetemplateelement"chrome ... 147136"5207287069147136"opus": ... 21600"}opus{"title ... 21600"}"title":"Opus"Opus"descri ... trate.""Royalt ... trate."Royalty-free open audio codec by IETF, which incorporated SILK from Skype and CELT from Xiph.org, to serve higher sound quality and lower latency at the same bitrate.Royalty-free open audio codec by IETF, which incorporated SILK from Skype and CELT from Xiphorg, to serve higher sound quality and lower latency at the same bitrate"spec": ... fc6716""http:/ ... fc6716"http://tools.ietf.org/html/rfc6716org/html/rfc6716"links" ... dard"}][{"url" ... dard"}]"url":" ... ormat/""https: ... ormat/"https://hacks.mozilla.org/2012/07/firefox-beta-15-supports-the-new-opus-audio-format/https://hacksorg/2012/07/firefox-beta-15-supports-the-new-opus-audio-format/"Introd ... ozilla"Introduction of Opus by Mozilla{"url": ... ndard"}"url":" ... 3.html""http:/ ... 3.html"http://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.htmlorg/mail-archive/web/rtcweb/current/msg04953"title" ... andard""Google ... andard"Google's statement about the use of VP8 and Opus codec for WebRTC standard"notes" ... /ogg'.""For Op ... /ogg'."For Opera the Linux version may be able to play it when the GStreamer module is up to date and the served mime-type is 'audio/ogg'.For Opera the Linux version may be able to play it when the GStreamer module is up to date and the served mime-type is 'audio/ogg'"usage_perc_y":45.35"parent":"audio""chrome ... 321600"4891189287321600"jpegxr ... id":""}jpegxr"JPEG X ... format"JPEG XR image format"The la ... ormat."The latest JPEG image format of Joint Photographic Experts Group which boasts better compression and supports lossless compression, alpha channel, and 48-bit deep color over normal jpg format.The latest JPEG image format of Joint Photographic Experts Group which boasts better compression and supports lossless compression, alpha channel, and 48-bit deep color over normal jpg format"spec": ... -T.832""http:/ ... -T.832"http://www.itu.int/rec/T-REC-T.832ituint/rec/T-REC-T832"links" ... view"}][{"url" ... view"}]{"url": ... rview"}http://msdn.microsoft.com/en-us/library/windows/desktop/hh707223(v=vs.85).aspxcom/en-us/library/windows/desktop/hh707223"title" ... erview""Micros ... erview"Microsoft JPEG XR Codec Overview"usage_perc_y":11.63"channe ... 09984"}channel-messaging{"title ... 09984"}Channel messaging"descri ... annel)""Method ... annel)"Method for having two-way communication between browsing contexts (using MessageChannel)Method for having two-way communication between browsing contexts (using MessageChannel)using MessageChannel"spec": ... saging""http:/ ... saging"http://www.w3.org/TR/webmessaging/#channel-messagingorg/TR/webmessaging/#channel-messaging"links" ... ging"}][{"url" ... ging"}]{"url": ... aging"}"url":" ... hannel""https: ... hannel"https://dev.opera.com/articles/view/window-postmessage-messagechannel/#channelcom/articles/view/window-postmessage-messagechannel/#channel"An Int ... saging"An Introduction to HTML5 web messaging"notes_ ... kers."}{"1":"S ... kers."}"1":"Su ... rkers.""Suppor ... rkers."Supported in Firefox behind the `dom.messageChannel.enabled` flag. Reported to not work in web workers.messageChannel Reported to not work in web workers"usage_perc_y":75.23"parent ... saging""ie_id" ... annels"messagechannels"chrome ... 409984"6710044586409984"css3-t ... id":""}css3-tabsize"title" ... b-size"CSS3 tab-size"descri ... wrap'.""Method ... wrap'."Method of customizing the width of the tab character. Only effective using 'white-space: pre' or 'white-space: pre-wrap'.Method of customizing the width of the tab character Only effective using 'white-space: pre' or 'white-space: pre-wrap'"spec": ... -size1""http:/ ... -size1"http://www.w3.org/TR/css3-text/#tab-size1org/TR/css3-text/#tab-size1"url":" ... b-size""https: ... b-size"https://developer.mozilla.org/en-US/docs/Web/CSS/tab-sizeorg/en-US/docs/Web/CSS/tab-size"24":"a #1""25":"a #1""26":"a #1""27":"a #1""28":"a #1""29":"a #1""30":"a #1""31":"a #1""32":"a #1""33":"a #1""34":"a #1""35":"a #1""36":"a #1""37":"a #1""38":"a #1""39":"a #1""40":"a #1""41":"a #1""10.6":"a x #1""11.1":"a x #1""11.5":"a x #1""11.6":"a x #1""12.1":"a x #1""7.0-7.1":"a #1""op_min ...  x #1"}{"5.0-8.0":"a x #1"}"5.0-8.0":"a x #1""androi ... "a #1"}{"2.1": ... "a #1"}"4.4":"a #1""4.4.3-4.4.4":"a #1""bb":{" ... "a #1"}{"7":"a ... "a #1"}"op_mob ... "a #1"}"and_ch ... "a #1"}{"41":"a #1"}"notes_ ... lues."}{"1":"P ... lues."}"1":"Pa ... alues.""Partia ... alues."Partial refers to supporting `<integer>` but not `<length>` values.Partial refers to supporting `<integer>` but not `<length>` values"usage_perc_y":0.27"usage_perc_a":74.79"keywor ... -width"tab-size,tab-width"mutati ... 46048"}mutationobserver{"title ... 46048"}"title" ... server"Mutation Observer"Method ... cated."Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated.Method for observing and reacting to changes to the DOM Replaces MutationEvents, which is deprecated"spec": ... R/dom/""http:/ ... R/dom/"http://www.w3.org/TR/dom/org/TR/dom/{"url": ... m MDN"}"url":" ... server""https: ... server"https://developer.mozilla.org/en-US/docs/Web/API/MutationObserverorg/en-US/docs/Web/API/MutationObserver"title" ... om MDN""Mutati ... om MDN"MutationObserver from MDN"url":" ... entsjs""https: ... entsjs"https://github.com/webcomponents/webcomponentsjscom/webcomponents/webcomponentsjs{"10":"p","11":"y"}"notes" ...  node.""When t ...  node."When the content of a node with a single CharacterData child node is changed by innerHTML attribute and the node have a single different one as a result, WebKit browsers consider it as a characterData mutation of the child CharacterData node, while other browsers think it as a childList mutation of the parent node.When the content of a node with a single CharacterData child node is changed by innerHTML attribute and the node have a single different one as a result, WebKit browsers consider it as a characterData mutation of the child CharacterData node, while other browsers think it as a childList mutation of the parent node"usage_perc_y":84.61"keywor ... server""ie_id" ... ervers"mutationobservers"chrome ... 146048"5021194726146048css-selection"::sele ... lement"::selection CSS pseudo-element"descri ...  user.""The :: ...  user."The ::selection CSS pseudo-element applies rules to the portion of a document that has been highlighted (e.g., selected with the mouse or another pointing device) by the user.The ::selection CSS pseudo-element applies rules to the portion of a document that has been highlighted (e.g., selected with the mouse or another pointing device)e.g., selected with the mouse or another pointing device, selected with the mouse or another pointing device by the user"spec": ... ection""http:/ ... ection"http://www.w3.org/TR/css-pseudo-4/#selectordef-selectionorg/TR/css-pseudo-4/#selectordef-selectionhttp://quirksmode.org/css/selectors/selection.htmlhttp://quirksmodeorg/css/selectors/selection"title" ... n test"::selection test"url":" ... ection"http://docs.webplatform.org/wiki/css/selectors/pseudo-elements/::selectionorg/wiki/css/selectors/pseudo-elements/::selection"usage_perc_y":77.96"keywor ... ection""::sele ... ection"::selection,selection"css-pl ... id":""}css-placeholder"title" ... -class"":place ... -class":placeholder-shown CSS pseudo-class"descri ... tents.""The :p ... tents."The :placeholder-shown pseudo-class represents a form element with visible placeholder contents.The :placeholder-shown pseudo-class represents a form element with visible placeholder contentshttp://www.w3.org/TR/selectors4/#placeholderorg/TR/selectors4/#placeholder"links" ... sion"}][{"url" ... sion"}]http://msdn.microsoft.com/en-us/library/ie/hh772745(v=vs.85).aspxcom/en-us/library/ie/hh772745{"url": ... fixes"}http://css-tricks.com/snippets/css/style-placeholder-text/com/snippets/css/style-placeholder-text/"title" ... efixes""CSS-Tr ... efixes"CSS-Tricks article with all prefixes{"url": ... ssion"}"url":" ... tyling""http:/ ... tyling"http://wiki.csswg.org/ideas/placeholder-stylingorg/ideas/placeholder-styling"title" ... ussion"CSSWG discussion{"2":"n ... :"a x"}{"7":"u","10":"a x"}"7":"u""notes" ... (IE). ""Partia ... (IE). "Partial support refers to support for styling just the placeholder text, rather than the actual element itself: `::-webkit-input-placeholder` (Chrome/Safari/Opera),
`::-moz-placeholder` (Firefox) and 
`:-ms-input-placeholder` (IE). Partial support refers to support for styling just the placeholder text, rather than the actual element itself: `::-webkit-input-placeholder` (Chrome/Safari/Opera)Chrome/Safari/Opera,
`::-moz-placeholder`  and 
`:-ms-input-placeholder` (IE)"usage_perc_a":89.67"keywor ... holder""::plac ... holder"::placeholder,placeholder"css-de ... id":""}"css-de ... tation"css-deviceadaptation"CSS De ... tation"CSS Device Adaptation"A stan ... ation."A standard way to override the size of viewport in web page, standardizing and replacing Apple's own popular <meta> viewport implementation.A standard way to override the size of viewport in web page, standardizing and replacing Apple's own popular <meta> viewport implementation"spec": ... adapt/""http:/ ... adapt/"http://www.w3.org/TR/css-device-adapt/org/TR/css-device-adapt/"links" ... r 10"}][{"url" ... r 10"}]{"url": ... obile"}"url":" ... wport/""https: ... wport/"https://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/com/articles/view/an-introduction-to-meta-viewport-and-viewport/"title" ... Mobile""Introd ... Mobile"Introduction to meta viewport and @viewport in Opera Mobile{"url": ... er 10"}http://msdn.microsoft.com/en-us/library/ie/hh708740(v=vs.85).aspxcom/en-us/library/ie/hh708740"title" ... rer 10""Device ... rer 10"Device adaptation in Internet Explorer 10"ie":{" ...  x #1"}{"5.5": ...  x #1"}"TP":"a x #1""op_min ...  x #2"}{"5.0-8.0":"a x #2"}"5.0-8.0":"a x #2""11.1":"a x #2""11.5":"a x #2""12":"a x #2""12.1":"a x #2""notes_ ... erty."}{"1":"I ... erty."}"1":"IE ... rties.""IE onl ... rties."IE only supports the 'width' and 'height' properties.IE only supports the 'width' and 'height' properties"2":"Op ... perty.""Opera  ... perty."Opera Mobile and Opera Mini only support the 'orientation' property.Opera Mobile and Opera Mini only support the 'orientation' property"usage_perc_a":12.78"keywor ... ewport""text-e ... id":""}"title" ... tyling""text-e ... tyling"text-emphasis stylingMethod of using small symbols next to each glyph to emphasize a run of text, commonly used in East Asian languages. The `text-emphasis` shorthand, and its `text-emphasis-style` and `text-emphasis-color` longhands, can be used to apply marks to the text. The `text-emphasis-position` property, which inherits separately, allows setting the emphasis marks' position with respect to the text.Method of using small symbols next to each glyph to emphasize a run of text, commonly used in East Asian languages The `text-emphasis` shorthand, and its `text-emphasis-style` and `text-emphasis-color` longhands, can be used to apply marks to the text The `text-emphasis-position` property, which inherits separately, allows setting the emphasis marks' position with respect to the text"spec": ... phasis""http:/ ... phasis"http://www.w3.org/TR/css-text-decor-3/#text-emphasisorg/TR/css-text-decor-3/#text-emphasis"links" ... ark."}][{"url" ... ark."}]{"url": ... mark."}"url":" ... hasis/""https: ... hasis/"https://github.com/zmmbreeze/jquery.emphasis/com/zmmbreeze/jqueryemphasis/"title" ...  mark.""A java ...  mark."A javascript fallback for CSS3 emphasis mark.A javascript fallback for CSS3 emphasis mark"chrome ...  x #1"}{"4":"n ...  x #1"}"41":"a x #1""42":"a x #1""43":"a x #1""44":"a x #1""6.1":"a x #1""opera" ...  x #1"}{"9":"n ...  x #1"}"androi ...  x #1"}{"2.1": ...  x #1"}"4.4":"a x #1""4.4.3- ... a x #1""bb":{" ...  x #1"}{"7":"n ...  x #1"}"op_mob ...  x #1"}"and_ch ...  x #1"}{"41":"a x #1"}"notes" ... orted.""Some o ... orted."Some old webkit browsers (like Chrome 24) support `-webkit-text-emphasis`, but does not support CJK languages and is therefore considered unsupported.Some old webkit browsers (like Chrome 24)like Chrome 24 support `-webkit-text-emphasis`, but does not support CJK languages and is therefore considered unsupported"notes_ ... spec."}{"1":"P ... spec."}Partial support refers to incorrect support for `-webkit-text-emphasis-position`. These browsers support `over` and `under` as values, but not the added `left` and `right` values required by the spec.Partial support refers to incorrect support for `-webkit-text-emphasis-position` These browsers support `over` and `under` as values, but not the added `left` and `right` values required by the spec"usage_perc_y":9.21"usage_perc_a":54.43"text-e ... -color"text-emphasis,text-emphasis-position,text-emphasis-style,text-emphasis-color"midi": ... 80928"}midi{"title ... 80928"}"title" ... DI API"Web MIDI API"descri ... evices""The We ... evices"The Web MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices"spec": ... i-api/""http:/ ... i-api/"http://webaudio.github.io/web-midi-api/http://webaudioio/web-midi-api/"url":" ... PIShim""https: ... PIShim"https://github.com/cwilso/WebMIDIAPIShimcom/cwilso/WebMIDIAPIShim"usage_perc_y":0.13"ie_id":"webmidiapi"webmidiapi"chrome ... 180928"4923613069180928canvas-blending"title" ...  modes"Canvas blend modesMethod of defining the effect resulting from overlaying two layers on a Canvas element. Method of defining the effect resulting from overlaying two layers on a Canvas element"spec": ... ending""http:/ ... ending"http://www.w3.org/TR/compositing-1/#blendingorg/TR/compositing-1/#blending"url":" ... anvas/""http:/ ... anvas/"http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/com/webplatform/2013/01/28/blending-features-in-canvas/"usage_perc_y":70.95"ie_id" ... nvas2d""compos ... nvas2d"compositingandblendingincanvas2d"clipbo ... id":""}clipboard"title" ... rd API"Clipboard API"descri ... board.""API to ... board."API to provide copy, cut and paste events as well as provide access to the OS clipboard.API to provide copy, cut and paste events as well as provide access to the OS clipboard"spec": ... -apis/""http:/ ... -apis/"http://www.w3.org/TR/clipboard-apis/org/TR/clipboard-apis/"links" ... cess"}][{"url" ... cess"}]{"url": ... Event"}"url":" ... dEvent""https: ... dEvent"https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEventorg/en-US/docs/Web/API/ClipboardEvent"title" ... dEvent""MDN pa ... dEvent"MDN page on ClipboardEvent{"url": ... ccess"}"url":" ... cript/""https: ... cript/"https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/lucidchartcom/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/"title" ... access""Guide  ... access"Guide on cross-platform clipboard access"ie":{" ... #1 #2"}{"5.5": ... #1 #2"}"5.5":"a #1 #2""TP":"a #1 #2""firefo ... #2 #3"}{"2":"n ... #2 #3"}"22":"a #2 #3""23":"a #2 #3""24":"a #2 #3""25":"a #2 #3""26":"a #2 #3""27":"a #2 #3""28":"a #2 #3""29":"a #2 #3""30":"a #2 #3""31":"a #2 #3""32":"a #2 #3""33":"a #2 #3""34":"a #2 #3""35":"a #2 #3""36":"a #2 #3""37":"a #2 #3""38":"a #2 #3""39":"a #2 #3""40":"a #2 #3""41":"a #3""42":"a #3""safari ... #2 #3"}{"3.1": ... #2 #3"}"3.1":"u""7":"a #2 #3""7.1":"a #2 #3""8":"a #2 #3""opera" ... "a #3"}{"9":"u ... "a #3"}"ios_sa ... 3":"u"}{"3.2": ... 3":"u"}"5.0-5.1":"u""6.0-6.1":"u""8":"u""8.1-8.3":"u""androi ... 0":"u"}{"2.1": ... 0":"u"}"bb":{" ... 0":"u"}{"7":"u","10":"u"}"op_mob ... 4":"u"}{"10":" ... 4":"u"}"24":"u""and_chr":{"41":"u"}{"41":"u"}"41":"u""and_ff":{"36":"u"}{"36":"u"}"36":"u""notes" ... tting.""Intern ... tting."Internet Explorer will display a security prompt for access to the OS clipboard.

Chrome 42+ and Opera 29+ support clipboard reading/writing only when part of a user action (click, keydown, etc)

Firefox users [can enable support](https://developer.mozilla.org/en-US/docs/Midas/Security_preferences) with a security preference setting.Internet Explorer will display a security prompt for access to the OS clipboard

Chrome 4 and Opera 2 support clipboard reading/writing only when part of a user action (click, keydown, etc)click, keydown, etc

Firefox users [can enable support](https://developer.mozilla.org/en-US/docs/Midas/Security_preferences)https://developer.mozilla.org/en-US/docs/Midas/Security_preferencesorg/en-US/docs/Midas/Security_preferences with a security preference setting"notes_ ... d()`."}{"1":"O ... d()`."}"1":"On ... board.""Only s ... board."Only supports `Text` and `URL` data types and uses [a non-standard method](http://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.aspx) of interacting with the clipboard.Only supports `Text` and `URL` data types and uses [a non-standard method]n-s(http://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.aspx)http://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.aspxcom/en-us/library/ie/ms535220%28v=vs of interacting with the clipboard"2":"On ... ields.""Only f ... ields."Only fires `copy` event on a valid selection and only `cut` and `paste` in focused editable fields.Only fires `copy` event on a valid selection and only `cut` and `paste` in focused editable fields"3":"On ... nd()`.""Only s ... nd()`."Only supports OS clipboard reading/writing via shortcut keys, not through `document.execCommand()`.Only supports OS clipboard reading/writing via shortcut keys, not through `document"usage_perc_a":63.71"keywor ... rddata""cut,co ... rddata"cut,copy,paste,clipboarddata"ie_id" ... ardapi"clipboardapi"rtcpee ... 44864"}rtcpeerconnection{"title ... 44864"}"WebRTC ... ctions"WebRTC Peer-to-peer connections"descri ... n API.""Method ... n API."Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API.Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API"http:/ ... ctions"http://www.w3.org/TR/webrtc/#peer-to-peer-connectionsorg/TR/webrtc/#peer-to-peer-connections"links" ... site"}][{"url" ... site"}]"url":" ... c.org/""http:/ ... c.org/"http://www.webrtc.org/webrtc"title" ... t site""WebRTC ... t site"WebRTC Project site"notes" ... irmed.""BlackB ... irmed."BlackBerry 10 recognizes RTCPeerConnection but real support is unconfirmed.BlackBerry 10 recognizes RTCPeerConnection but real support is unconfirmed"usage_perc_y":57.36"ie_id" ... v10api"webrtcwebrtcv10api"chrome ... 444864"6612462929444864css3-cursors"title" ... alues)""CSS3 C ... alues)"CSS3 Cursors (original values)CSS3 Cursors (original values)original values"descri ... roll. ""CSS3 c ... roll. "CSS3 cursor values added in the 2004 spec, including none, context-menu, cell, vertical-text, alias, copy, no-drop, not-allowed, nesw-resize, nwse-resize, col-resize, row-resize and all-scroll. CSS3 cursor values added in the 2004 spec, including none, context-menu, cell, vertical-text, alias, copy, no-drop, not-allowed, nesw-resize, nwse-resize, col-resize, row-resize and all-scroll"spec": ... cursor""http:/ ... cursor"http://www.w3.org/TR/css3-ui/#cursororg/TR/css3-ui/#cursor"url":" ... cursor""https: ... cursor"https://developer.mozilla.org/en-US/docs/Web/CSS/cursororg/en-US/docs/Web/CSS/cursorMDN Documentation{"7":"n","10":"u"}"notes" ... a URI.""Partia ... a URI."Partial support in IE refers to no support for the alias, cell, copy, ew-resize, ns-resize, nesw-resize, nwse-resize or context-menu cursors. Opera 12.10- does not support 'none' or a URI.Partial support in IE refers to no support for the alias, cell, copy, ew-resize, ns-resize, nesw-resize, nwse-resize or context-menu cursors Opera 1210- does not support 'none' or a URI"usage_perc_y":61.97"usage_perc_a":3.09"keywor ... inters"cursors, pointerscss3-cursors-newerCSS3 Cursors (new values)(new values)new values"Suppor ... perty."Support for `zoom-in` and `zoom-out` values for the CSS3 `cursor` property.Support for `zoom-in` and `zoom-out` values for the CSS3 `cursor` property"notes" ... refix)""Chrome ... refix)"Chrome, Safari and Firefox also support the unofficial `grab` and `grabbing` values (with prefix)Chrome, Safari and Firefox also support the unofficial `grab` and `grabbing` values (with prefix)with prefix"usage_perc_y":51.62"webvtt ... 39136"}webvtt{"title ... 39136"}"title" ... Tracks""WebVTT ... Tracks"WebVTT - Web Video Text Tracks"Format ... urces."Format for marking up text captions for multimedia resources.Format for marking up text captions for multimedia resources"spec": ... ebvtt/""http:/ ... ebvtt/"http://dev.w3.org/html5/webvtt/org/html5/webvtt/"links" ... rack"}][{"url" ... rack"}]http://www.html5rocks.com/en/tutorials/track/basics/com/en/tutorials/track/basics/"Gettin ... lement"Getting Started With the Track Element{"url": ... track"}"url":" ... track/""https: ... track/"https://dev.opera.com/articles/view/an-introduction-to-webvtt-and-track/com/articles/view/an-introduction-to-webvtt-and-track/"title" ...  track""An Int ...  track"An Introduction to WebVTT and track"WebVTT ... ement."WebVTT must be used with the <track> element.

Firefox currently lacks support for the ::cue pseudo-element.WebVTT must be used with the <track> element

Firefox currently lacks support for the ::cue pseudo-element"usage_perc_y":80.69"keywor ... ,track"captions,track"chrome ... 339136"6719115557339136"promis ... 32480"}promises{"title ... 32480"}"title":"Promises"Promises"A prom ... ation."A promise represents the eventual result of an asynchronous operation.A promise represents the eventual result of an asynchronous operation"spec": ... bjects""https: ... bjects"https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objectshttps://peopleorg/~jorendorff/es6-drafthtml#sec-promise-objects"links" ... ises"}][{"url" ... ises"}]"url":" ... -spec/""http:/ ... -spec/"http://promises-aplus.github.io/promises-spec/http://promises-aplusio/promises-spec/"title" ... + spec"Promises/A+ specPromises/A+ spec{"url": ... mises"}"url":" ... 532480""http:/ ... 532480"http://www.chromestatus.com/features/5681726336532480chromestatuscom/features/5681726336532480"title" ... omises""Chromi ... omises"Chromium dashboard - ES6 Promises{"url": ... Rocks"}"url":" ... mises/""http:/ ... mises/"http://www.html5rocks.com/en/tutorials/es6/promises/com/en/tutorials/es6/promises/"title" ...  Rocks""JavaSc ...  Rocks"JavaScript Promises: There and back again - HTML5 Rocks"url":" ... omises""https: ... omises"https://github.com/jakearchibald/ES6-Promisescom/jakearchibald/ES6-Promises"A poly ... omises"A polyfill for ES6-style Promises"usage_perc_y":64.75"usage_perc_a":0.25"keywords":"futures"futures"chrome ... 532480"5681726336532480"css-st ... 78880"}css-sticky{"title ... 78880"}"title" ... sticky""CSS po ... sticky"CSS position:sticky"descri ... lling.""Keeps  ... lling."Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "stuck" when necessary while scrolling.Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport As a result the element is "stuck" when necessary while scrollinghttp://dev.w3.org/csswg/css-position/#sticky-positioningorg/csswg/css-position/#sticky-positioning"url":" ... WebKit""http:/ ... WebKit"http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKitcom/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit"title":"HTML5Rocks"HTML5Rocks"https: ... sition"https://developer.mozilla.org/en-US/docs/Web/CSS/positionorg/en-US/docs/Web/CSS/position"url":" ... sticky""https: ... sticky"https://github.com/filamentgroup/fixed-stickycom/filamentgroup/fixed-sticky"url":" ... kyfill""https: ... kyfill"https://github.com/wilddeer/stickyfillcom/wilddeer/stickyfillAnother polyfill"23":"n d #2""24":"n d #2""25":"n d #2""26":"n d #2""27":"n d #2""28":"n d #2""29":"n d #2""30":"n d #2""31":"n d #2""34":"n d #2""35":"n d #2""36":"n d #2"{"1":"C ... flags"}"1":"Ca ... o true""Can be ... o true"Can be enabled in Firefox by setting the about:config preference layout.css.sticky.enabled to trueCan be enabled in Firefox by setting the about:config preference layoutenabled to true"2":"En ... /flags""usage_perc_y":20.74"ie_id" ... sticky"positionsticky"chrome ... 378880"6190250464378880"dialog ... 68448"}{"title ... 68448"}Dialog elementMethod of easily creating custom dialog boxes to display to the user with modal or non-modal options. Also includes a `::backdrop` pseudo-element for behind the element.Method of easily creating custom dialog boxes to display to the user with modal or non-modal options Also includes a `::backdrop` pseudo-element for behind the elementhttps://html.spec.whatwg.org/multipage/forms.html#the-dialog-elementhtml#the-dialog-elementhttps://github.com/GoogleChrome/dialog-polyfillcom/GoogleChrome/dialog-polyfill"19":"n d #2""20":"n d #2""21":"n d #2""22":"n d #2""notes_ ... lags`"}{"1":"E ... lags`"}"1":"En ... flags`""Enable ... flags`"Enabled through the "Experimental Web Platform features" flag in `chrome://flags`"2":"En ... flags`"Enabled through the "Experimental Web Platform features" flag in `opera://flags`"usage_perc_y":42.59"keywor ... ckdrop""HTMLDi ... ckdrop"HTMLDialogElement,showModal,backdrop"ie_id" ... modals""dialog ... modals"dialogelementformodals"chrome ... 568448"5770237022568448"css-va ... 11872"}css-variables{"title ... 11872"}"title" ... iables"CSS Variables"descri ... heets.""Permit ... heets."Permits the declaration and usage of cascading variables in stylesheets.Permits the declaration and usage of cascading variables in stylesheets"spec": ... ables/""http:/ ... ables/"http://www.w3.org/TR/css-variables/org/TR/css-variables/{"url": ... ntax)"}"https: ... ghtly/"https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/org/2013/12/css-variables-in-firefox-nightly/"title" ... yntax)""Mozill ... yntax)"Mozilla hacks article (older syntax)Mozilla hacks article (older syntax)older syntax"url":" ... iables""https: ... iables"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variablesorg/en-US/docs/Web/CSS/Using_CSS_variables"chrome ... 4":"u"}{"4":"n ... 4":"u"}"42":"u""43":"u""44":"u""opera" ... 9":"u"}{"9":"n ... 9":"u"}"28":"u""29":"u""usage_perc_y":11.14"keywor ... iables"css variables"ie_id" ... iables"cssvariables"chrome ... 911872"6401356696911872"vibrat ... 63008"}vibration{"title ... 63008"}Vibration API"descri ... evice.""Method ... evice."Method to access the vibration mechanism of the hosting device.Method to access the vibration mechanism of the hosting device"spec": ... ation/"http://www.w3.org/TR/vibration/org/TR/vibration/"links" ... ples"}][{"url" ... ples"}]"url":" ... ration""https: ... ration"https://developer.mozilla.org/en-US/docs/Web/Guide/API/Vibrationorg/en-US/docs/Web/Guide/API/Vibration"url":" ... on-api""http:/ ... on-api"http://davidwalsh.name/vibration-apiname/vibration-api"title" ... & demo""Vibrat ... & demo"Vibration API sample code & demo"url":" ... -22585""http:/ ... -22585"http://code.tutsplus.com/tutorials/html5-vibration-api--mobile-22585com/tutorials/html5-vibration-api--mobile-22585Tuts+ articleTuts+ articlehttp://aurelio.audero.it/demo/vibration-api-demo.htmlit/demo/vibration-api-demohttp://www.illyism.com/journal/vibration-apiillyismcom/journal/vibration-api"Articl ... amples"Article and Usage Examples"usage_perc_y":65.27"keywor ... device""vibrat ... device"vibration,mobile,devicevibrationapi"chrome ... 763008"5698768766763008"css-ba ... 12896"}"css-ba ... ndmode"css-backgroundblendmode{"title ... 12896"}"title" ... d-mode""CSS ba ... d-mode"CSS background-blend-mode"descri ... olors.""Allows ... olors."Allows blending between CSS background images, gradients, and colors.Allows blending between CSS background images, gradients, and colors"spec": ... d-mode""http:/ ... d-mode"http://www.w3.org/TR/compositing-1/#background-blend-modeorg/TR/compositing-1/#background-blend-mode{"url": ... ample"}"url":" ... /rxoAc""http:/ ... /rxoAc"http://codepen.io/bennettfeely/pen/rxoAcio/bennettfeely/pen/rxoAc"title" ... xample"codepen example"url":" ... 53743a""https: ... 53743a"https://medium.com/web-design-technique/6b51bf53743ahttps://mediumcom/web-design-technique/6b51bf53743a"url":" ... dients"http://bennettfeely.com/gradientscom/gradients"notes_ ... odes."}{"1":"P ... odes."}"1":"Pa ... modes.""Partia ... modes."Partial in Safari refers to not supporting the `hue`, `saturation`, `color`, and `luminosity` blend modes.Partial in Safari refers to not supporting the `hue`, `saturation`, `color`, and `luminosity` blend modes"usage_perc_y":55.11"keywor ... ground""css bl ... ground"css blend modes,css blending modes,blending,multiply,screen,background"chrome ... 312896"5768037999312896"css-mi ... 37408"}css-mixblendmode{"title ... 37408"}"Blendi ... ements"Blending of HTML/SVG elements"Allows ... ements"Allows blending between arbitrary SVG and HTML elementshttp://www.w3.org/TR/compositing-1/#mix-blend-modeorg/TR/compositing-1/#mix-blend-mode"url":" ... /csjzd""http:/ ... /csjzd"http://codepen.io/bennettfeely/pen/csjzdio/bennettfeely/pen/csjzd"url":" ... modes/""http:/ ... modes/"http://css-tricks.com/basics-css-blend-modes/com/basics-css-blend-modes/{"1":"E ... odes."}"2":"Pa ... modes.""usage_perc_y":38.98"keywor ...  modes""mix-bl ...  modes"mix-blend-mode,css blend modes,css blending modes"ie_id" ... ndmode"mixblendmode"chrome ... 337408"6362616360337408"web-sp ... 68224"}web-speech{"title ... 68224"}"title" ... ch API"Web Speech API"Method ... owser."Method to provide speech input and text-to-speech output features in a web browser.Method to provide speech input and text-to-speech output features in a web browser"spec": ... i.html""https: ... i.html"https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.htmlhttps://dvcsorg/hg/speech-api/raw-file/tip/speechapi"links" ... urce"}][{"url" ... urce"}]"url":" ... ch-API""http:/ ... ch-API"http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-APIcom/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-API"url":" ... h-api/""http:/ ... h-api/"http://www.sitepoint.com/introducing-web-speech-api/com/introducing-web-speech-api/http://aurelio.audero.it/demo/web-speech-api-demo.htmlit/demo/web-speech-api-demo{"url": ... ource"}http://zenorocha.github.io/voice-elements/http://zenorochaio/voice-elements/"title" ... source""Advanc ... source"Advanced demo and resource{"4":"n ... :"a x"}"Partia ... orted."Partial support in Chrome refers to some attributes missing. Partial support in Safari refers to only Speech Synthesis supported.Partial support in Chrome refers to some attributes missing Partial support in Safari refers to only Speech Synthesis supported"usage_perc_a":55.66"keywor ... on,ASR""speech ... on,ASR"speech,recognition,ASR"ie_id" ... iinput"webspeechapiinput"chrome ... 668224"5908775487668224"high-r ... 30240"}"high-r ... n-time"high-resolution-time{"title ... 30240"}"title" ... me API""High R ... me API"High Resolution Time API"descri ... now()`""Method ... now()`"Method to provide the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments. Called using `performance.now()`Method to provide the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments Called using `performance"spec": ... -time/""http:/ ... -time/"http://www.w3.org/TR/hr-time/org/TR/hr-time/"url":" ... .now()""https: ... .now()"https://developer.mozilla.org/en-US/docs/Web/API/Performance.now()org/en-US/docs/Web/API/Performance"url":" ... ce-now""http:/ ... ce-now"http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-nowcom/2012/08/When-milliseconds-are-not-enough-performance-now"url":" ... e-api/""http:/ ... e-api/"http://www.sitepoint.com/discovering-the-high-resolution-time-api/com/discovering-the-high-resolution-time-api/http://aurelio.audero.it/demo/high-resolution-time-api-demo.htmlit/demo/high-resolution-time-api-demo"usage_perc_y":77.38"keywor ... esting""perfor ... esting"performance,now,testing"ie_id" ... ontime"highresolutiontime"chrome ... 130240"5349124069130240"batter ... 17664"}battery-status{"title ... 17664"}"title" ... us API"Battery Status APIMethod to provide information about the battery status of the hosting device.Method to provide information about the battery status of the hosting device"spec": ... tatus/""http:/ ... tatus/"org/TR/battery-status/"links" ... demo"}][{"url" ... demo"}]"url":" ... Status""https: ... Status"https://developer.mozilla.org/en-US/docs/WebAPI/Battery_Statusorg/en-US/docs/WebAPI/Battery_Status"title":"MDN Docs"MDN Docs"url":" ... ttery/""http:/ ... ttery/"http://www.smartjava.org/examples/webapi-battery/smartjavaorg/examples/webapi-battery/"firefo ... "a #1"}{"2":"n ... "a #1"}"37":"n d""and_ff ... "a #1"}{"36":"a #1"}"notes_ ... ger`."}{"1":"P ... ger`."}"1":"Pa ... ager`.""Partia ... ager`."Partial support refers to support for the older specification's `navigator.battery` rather than `navigator.getBattery()` to access the `BatteryManager`.Partial support refers to support for the older specification's `navigatorbattery` rather than `navigator` to access the `BatteryManager`"usage_perc_y":41.53"usage_perc_a":16.39"keywor ... anager""naviga ... anager"navigator.battery,navigator.getbattery,batterymanagerbattery,navigatorgetbattery,batterymanager"ie_id" ... tusapi"batterystatusapi"chrome ... 017664"4537134732017664"servic ... 27040"}serviceworkers{"title ... 27040"}Service Workers"descri ... fline.""Method ... fline."Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline"spec": ... orker/""https: ... orker/"https://slightlyoff.github.io/ServiceWorker/spec/service_worker/https://slightlyoffio/ServiceWorker/spec/service_worker/"links" ... rces"}][{"url" ... rces"}]{"url": ... tion)"}http://www.html5rocks.com/en/tutorials/service-worker/introduction/com/en/tutorials/service-worker/introduction/"title" ... ction)""HTML5R ... ction)"HTML5Rocks article (introduction)HTML5Rocks article (introduction)introduction"url":" ... er_API""https: ... er_API"https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_APIorg/en-US/docs/Web/API/ServiceWorker_API{"url": ... urces"}https://jakearchibald.github.io/isserviceworkerready/resources.htmlhttps://jakearchibaldio/isserviceworkerready/resources"title" ... ources""List o ... ources"List of various resources"notes" ... eady/)""Detail ... eady/)"Details on partial support can be found on [is ServiceWorker Ready?](https://jakearchibald.github.io/isserviceworkerready/)Details on partial support can be found on [is ServiceWorker Ready?](https://jakearchibald.github.io/isserviceworkerready/)https://jakearchibald.github.io/isserviceworkerready/io/isserviceworkerready/{"1":"P ... flag."}"1":"Pa ...  flag.""Partia ...  flag."Partial support can be enabled in Firefox with the `dom.serviceWorkers.enabled` flag.Partial support can be enabled in Firefox with the `domserviceWorkers"usage_perc_a":39.78"ie_id" ... worker"serviceworker"chrome ... 927040"6561526227927040"text-d ... id":""}text-decoration"text-d ... tyling"text-decoration styling"descri ... blue`)""Method ... blue`)"Method of defining the type, style and color of lines in the text-decoration property. These can be defined as shorthand (e.g. `text-decoration: line-through dashed blue`) or as single properties (e.g. `text-decoration-color: blue`)Method of defining the type, style and color of lines in the text-decoration property These can be defined as shorthand (e.g. `text-decoration: line-through dashed blue`)e.g. `text-decoration: line-through dashed blue` `text-decoration: line-through dashed blue` or as single properties (e.g. `text-decoration-color: blue`)e.g. `text-decoration-color: blue` `text-decoration-color: blue`"spec": ... ration""http:/ ... ration"http://www.w3.org/TR/css-text-decor-3/#line-decorationorg/TR/css-text-decor-3/#line-decoration{"url": ... style"}"url":" ... -style""https: ... -style"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-styleorg/en-US/docs/Web/CSS/text-decoration-style"title" ... -style""MDN Do ... -style"MDN Documentation for text-decoration-style{"url": ... color"}"url":" ... -color""https: ... -color"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-colororg/en-US/docs/Web/CSS/text-decoration-color"title" ... -color""MDN Do ... -color"MDN Documentation for text-decoration-color{"url": ... -line"}"url":" ... n-line""https: ... n-line"https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-lineorg/en-US/docs/Web/CSS/text-decoration-line"title" ... n-line""MDN Do ... n-line"MDN Documentation for text-decoration-line"26":"n x d #1"n x d #1"27":"n x d #1""28":"n x d #1""29":"n x d #1""30":"n x d #1""31":"n x d #1""32":"n x d #1""33":"n x d #1""34":"n x d #1""35":"n x d #1""36":"n x d #1""37":"n x d #1""38":"n x d #1""39":"n x d #1""40":"n x d #1""41":"n x d #1""42":"n x d #1""43":"n x d #1""44":"n x d #1""ios_sa ...  x #2"}{"3.2": ...  x #2"}"8.1-8.3":"a x #2""notes" ...  etc.)""All br ...  etc.)"All browsers support the CSS2 version of `text-decoration`, which matches only the `text-decoration-line` values (`underline`, etc.)All browsers support the CSS2 version of `text-decoration`, which matches only the `text-decoration-line` values (`underline`, etc.)`underline`, etc.`underline`, etc{"1":"E ... erty."}"2":"Pa ... perty."Partial support in Safari refers to not supporting the text-decoration-style property.Partial support in Safari refers to not supporting the text-decoration-style property"usage_perc_y":12.21"text-d ... -color"text-decoration-line,text-decoration-style,text-decoration-color"speech ... 25600"}speech-synthesis{"title ... 25600"}"title" ... is API""Speech ... is API"Speech Synthesis API"descri ... utput.""A web  ... utput."A web API for controlling a text-to-speech output.A web API for controlling a text-to-speech output"https: ... ection"https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-sectionhtml#tts-section"url":" ... is-API""http:/ ... is-API"http://updates.html5rocks.com/2014/01/Web-apps-that-talk---Introduction-to-the-Speech-Synthesis-APIcom/2014/01/Web-apps-that-talk---Introduction-to-the-Speech-Synthesis-APIhttp://www.sitepoint.com/talking-web-pages-and-the-speech-synthesis-api/com/talking-web-pages-and-the-speech-synthesis-api/http://aurelio.audero.it/demo/speech-synthesis-api-demo.htmlit/demo/speech-synthesis-api-demo"usage_perc_y":54.11"parent ... speech""keywor ... rance,""speech ... rance,"speech,synthesis,speechSynthesis,TTS,SpeechSynthesisUtterance,"ie_id" ... thesis""webspe ... thesis"webspeechapisynthesis"chrome ... 825600"4782875580825600"user-t ... 91808"}user-timing{"title ... 91808"}User Timing API"descri ... tamps.""Method ... tamps."Method to help web developers measure the performance of their applications by giving them access to high precision timestamps.Method to help web developers measure the performance of their applications by giving them access to high precision timestampshttp://www.w3.org/TR/user-timing/org/TR/user-timing/"url":" ... g-api/""http:/ ... g-api/"http://www.sitepoint.com/discovering-user-timing-api/com/discovering-user-timing-api/"url":" ... iming/"http://www.html5rocks.com/en/tutorials/webperformance/usertiming/com/en/tutorials/webperformance/usertiming/"url":" ... 902672""https: ... 902672"https://gist.github.com/pmeenan/5902672com/pmeenan/5902672http://aurelio.audero.it/demo/user-timing-api-demo.htmlit/demo/user-timing-api-demo"url":" ... ing.js""https: ... ing.js"https://github.com/nicjansma/usertiming.jscom/nicjansma/usertiming"UserTi ... lyfill"UserTiming.js polyfillUserTiming"usage_perc_y":59.16"keywor ... easure""perfor ... easure"performance,testing,mark,measureusertimingapi"chrome ... 791808"5066549580791808"srcset ... 25824"}{"title ... 25824"}Srcset attribute"descri ...  etc).""Allows ...  etc)."Allows authors to define various image resources and "hints" that assist a user agent to determine the most appropriate image source to display (e.g. high-resolution displays, small monitors, etc).Allows authors to define various image resources and "hints" that assist a user agent to determine the most appropriate image source to display (e.g. high-resolution displays, small monitors, etc)e.g. high-resolution displays, small monitors, etc high-resolution displays, small monitors, etc"spec": ... srcset""https: ... srcset"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcsethtml#attr-img-srcset"https: ... ibute/"https://www.webkit.org/blog/2910/improved-support-for-high-resolution-displays-with-the-srcset-image-attribute/org/blog/2910/improved-support-for-high-resolution-displays-with-the-srcset-image-attribute/"Improv ... ribute"Improved support for high-resolution displays with the srcset image attribute"34":"a #2""35":"a #2""36":"a #2""37":"a #2""24":"a #2""op_mob ... "a #2"}"notes_ ... tor)."}{"1":"C ... tor)."}Can be enabled in Firefox by setting the about:config preference dom.image.srcset.enabled to trueCan be enabled in Firefox by setting the about:config preference dom"2":"Su ... ptor).""Suppor ... ptor)."Supports the subset of the syntax for resolution switching (using the `x` descriptor), but not the full syntax that can be used with `sizes` (using the `w` descriptor).Supports the subset of the syntax for resolution switching (using the `x` descriptor)using the `x` descriptor, but not the full syntax that can be used with `sizes` (using the `w` descriptor)using the `w` descriptor"usage_perc_y":41.55"usage_perc_a":10.54"ie_id":"imgsrcset"imgsrcset"chrome ... 725824"4644337115725824"ambien ... 20608"}ambient-light{"title ... 20608"}"title" ... ht API"Ambient Light API"descri ... ensor.""Define ... ensor."Defines events that provide information about the ambient light level, as measured by a device's light sensor.Defines events that provide information about the ambient light level, as measured by a device's light sensor"spec": ... light/""http:/ ... light/"http://www.w3.org/TR/ambient-light/org/TR/ambient-light/http://aurelio.audero.it/demo/ambient-light-api-demo.htmlit/demo/ambient-light-api-demohttp://modernweb.com/2014/05/27/introduction-to-the-ambient-light-api/http://modernwebcom/2014/05/27/introduction-to-the-ambient-light-api/"title":"Article"Article"notes_ ... 4199)"}{"1":"P ... 4199)"}"1":"Pa ... 54199)""Partia ... 54199)"Partial support in desktop Firefox refers to support being limited to Mac OS X. [Support for Windows 7 is in progress](https://bugzilla.mozilla.org/show_bug.cgi?id=754199)Partial support in desktop Firefox refers to support being limited to Mac OS X[Support for Windows 7 is in progress](https://bugzilla.mozilla.org/show_bug.cgi?id=754199)https://bugzilla.mozilla.org/show_bug.cgi?id=754199id=754199"usage_perc_a":11.57ambientlightevents"chrome ... 820608"5298357018820608"will-c ... 26176"}will-change{"title ... 26176"}"CSS wi ... operty"CSS will-change property"descri ... hange.""Method ... hange."Method of optimizing animations by informing the browser which elements will change and what properties will change.Method of optimizing animations by informing the browser which elements will change and what properties will change"spec": ... hange/""http:/ ... hange/"http://dev.w3.org/csswg/css-will-change/org/csswg/css-will-change/"url":" ... perty/""https: ... perty/"https://dev.opera.com/articles/css-will-change-property/com/articles/css-will-change-property/Detailed article"url":" ... hacks/""http:/ ... hacks/"http://aerotwist.com/blog/bye-bye-layer-hacks/http://aerotwistcom/blog/bye-bye-layer-hacks/"notes_ ...  flag"}{"1":"S ...  flag"}"1":"Su ... ` flag""Suppor ... ` flag"Supported in Firefox behind the `layout.css.will-change.enabled` flagSupported in Firefox behind the `layout"usage_perc_y":51.57scroll-position"ie_id" ... change"csswillchange"chrome ... 226176"5954199330226176"css-sh ... 88352"}css-shapes{"title ... 88352"}CSS Shapes Level 1"descri ... round.""Allows ... round."Allows geometric shapes to be set in CSS to define an area for text to flow around.Allows geometric shapes to be set in CSS to define an area for text to flow around"spec": ... hapes/""http:/ ... hapes/"http://www.w3.org/TR/css-shapes/org/TR/css-shapes/"url":" ... hapes/"http://html.adobe.com/webplatform/layout/shapes/com/webplatform/layout/shapes/{"url": ... Adobe"}http://html.adobe.com/webplatform/layout/shapes/browser-support/com/webplatform/layout/shapes/browser-support/"title" ...  Adobe""CSS sh ...  Adobe"CSS shapes support test by Adobe"url":" ... es-101""http:/ ... es-101"http://alistapart.com/article/css-shapes-101http://alistapartcom/article/css-shapes-101"keywor ... inside""circle ... inside"circle,ellipse,polygon,inset,shape-outside,shape-inside"ie_id":"shapes"shapes"chrome ... 588352"5163890719588352"domcon ... id":""}domcontentloaded"title" ... Loaded"DOMContentLoaded"descri ... etc.).""JavaSc ... etc.)."JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.).JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.)CSS, images, etc.CSS, images, etc"spec": ... arsing""https: ... arsing"https://html.spec.whatwg.org/multipage/syntax.html#stop-parsingorg/multipage/syntaxhtml#stop-parsing"links" ... aded"}][{"url" ... aded"}]{"url": ... oaded"}"url":" ... Loaded""https: ... Loaded"https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoadedorg/en-US/docs/Web/Reference/Events/DOMContentLoaded"MDN: D ... Loaded"MDN: DOMContentLoaded"keywor ... cument""dom,do ... cument"dom,domready,onload,contentloaded,document"proxim ... id":""}proximity"title" ... ty API"Proximity APIDefines events that provide information about the distance between a device and an object, as measured by a proximity sensor.Defines events that provide information about the distance between a device and an object, as measured by a proximity sensor"spec": ... imity/""http:/ ... imity/"http://www.w3.org/TR/proximity/org/TR/proximity/http://aurelio.audero.it/demo/proximity-api-demo.htmlit/demo/proximity-api-demohttp://www.sitepoint.com/introducing-proximity-api/com/introducing-proximity-api/"usage_perc_y":12"kernin ... id":""}"kernin ... atures"kerning-pairs-ligatures"Improv ... atures"Improved kerning pairs & ligatures"descri ... ility.""Curren ... ility."Currently non-standard method of improving kerning pairs & ligatures using text-rendering: optimizeLegibility.Currently non-standard method of improving kerning pairs & ligatures using text-rendering: optimizeLegibilityhttp://www.w3.org/TR/SVG11/painting.html#TextRenderingPropertyorg/TR/SVG11/paintinghtml#TextRenderingProperty"url":" ... dering""https: ... dering"https://developer.mozilla.org/en-US/docs/Web/CSS/text-renderingorg/en-US/docs/Web/CSS/text-rendering"url":" ... ering/""http:/ ... ering/"http://css-tricks.com/almanac/properties/t/text-rendering/com/almanac/properties/t/text-rendering/"usage_perc_y":79.71"keywor ... cision""optimi ... cision"optimizeLegibility,optimizeSpeed,geometricPrecision"iframe ... 96224"}iframe-seamless{"title ... 96224"}"seamle ... frames"seamless attribute for iframes"descri ... page. ""The se ... page. "The seamless attribute makes an iframe's contents actually part of a page, and adopts the styles from its hosting page. The seamless attribute makes an iframe's contents actually part of a page, and adopts the styles from its hosting page"spec": ... amless""https: ... amless"https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-seamlesshtml#attr-iframe-seamlesshttps://github.com/ornj/seamless-polyfillcom/ornj/seamless-polyfill"Experi ... lyfill"Experimental polyfill"url":" ... mless/""http:/ ... mless/"http://labs.ft.com/2013/01/seamless-iframes-not-quite-seamless/http://labsftcom/2013/01/seamless-iframes-not-quite-seamless/"url":" ... 631218""https: ... 631218"https://bugzilla.mozilla.org/show_bug.cgi?id=631218id=631218"Chrome ... pport."Chrome 20-26 had partial support behind a flag, though this was [later removed](http://crbug.com/229421). 

Safari 7 (& iOS 7 Safari) hides the border of seamless iframes and recognizes the 'seamless' DOM property, but does not provide actual support.Chrome 20-26 had partial support behind a flag, though this was [later removed](http://crbug.com/229421)http://crbug.com/229421http://crbugcom/229421 

Safari 7 (& iOS 7 Safari)& iOS 7 Safari hides the border of seamless iframes and recognizes the 'seamless' DOM property, but does not provide actual support"usage_perc_y":4.25iframeseamlessattribute"chrome ... 396224"6630329993396224"css-im ... id":""}"css-im ... tation"css-image-orientation"CSS3 i ... tation"CSS3 image-orientation"CSS pr ... value."CSS property used generally to fix the intended orientation of an image. This can be done using 90 degree increments or based on the image's EXIF data using the "from-image" value.CSS property used generally to fix the intended orientation of an image This can be done using 90 degree increments or based on the image's EXIF data using the "from-image" value"spec": ... tation"http://www.w3.org/TR/css3-images/#image-orientationorg/TR/css3-images/#image-orientation"links" ... ese)"}][{"url" ... ese)"}]https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientationorg/en-US/docs/Web/CSS/image-orientationhttp://sethfowler.org/blog/2013/09/13/new-in-firefox-26-css-image-orientation/http://sethfowlerorg/blog/2013/09/13/new-in-firefox-26-css-image-orientation/{"url": ... nese)"}"url":" ... Tolo/4""http:/ ... Tolo/4"http://jsbin.com/EXUTolo/4http://jsbincom/EXUTolo/4"title" ... inese)"Demo (Chinese)Demo (Chinese)"notes" ...  data.""Partia ...  data."Partial support in iOS refers to the browser using EXIF data by default, though it does not actually support the property. Opening the image in a new tab in Chrome results in the image shown in the orientation according to the EXIF data.Partial support in iOS refers to the browser using EXIF data by default, though it does not actually support the property Opening the image in a new tab in Chrome results in the image shown in the orientation according to the EXIF data"usage_perc_y":11.52"usage_perc_a":7.07"keywor ... e,flip""image- ... e,flip"image-orientation,from-image,flip"pictur ... 23776"}picture{"title ... 23776"}Picture element"descri ... format""A resp ... format"A responsive images method to control which image resource a user agent presents to a user, based on resolution, media query and/or support for a particular image formathttps://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-elementhtml#the-picture-element"links" ... more"}][{"url" ... more"}]http://responsiveimages.org/demos/http://responsiveimagesorg/demos/"url":" ... -36583""http:/ ... -36583"http://code.tutsplus.com/tutorials/better-responsive-images-with-the-picture-element--net-36583com/tutorials/better-responsive-images-with-the-picture-element--net-36583{"url": ... cases"}"url":" ... s.org/""http:/ ... s.org/"http://usecases.responsiveimages.org/http://usecasesresponsiveimages"title" ...  cases""Read a ...  cases"Read about the use caseshttp://responsiveimages.org/"title" ... Images""Genera ... Images"General information about Responsive Images"https: ... mages/"https://dev.opera.com/articles/responsive-images/com/articles/responsive-images/http://www.html5rocks.com/tutorials/responsive/picture-element/com/tutorials/responsive/picture-element/{"url": ...  more"}"url":" ... refill""https: ... refill"https://github.com/scottjehl/picturefillcom/scottjehl/picturefill"title" ... d more""Pictur ... d more"Picturefill - polyfill for picture, srcset, sizes, and more"34":"n d #3"n d #3"35":"n d #3""36":"n d #3""37":"n d #3""notes_ ...  true"}{"1":"E ...  true"}Enabled in Opera through the "experimental Web Platform features" flag in opera://flags"3":"En ... o true""Enable ... o true"Enabled in Firefox by setting the about:config preference dom.image.picture.enable to trueEnabled in Firefox by setting the about:config preference domenable to true"keywor ... cture>"<picture>pictureelement"chrome ... 923776"5910974510923776"woff2" ... 49312"}woff2{"title ... 49312"}"WOFF 2 ... Format"WOFF 2.0 - Web Open Font FormatWOFF 20 - Web Open Font Format"descri ... F 1.0.""TrueTy ... F 1.0."TrueType/OpenType font that provides better compression than WOFF 1.0.TrueType/OpenType font that provides better compression than WOFF 1"spec": ... WOFF2/""http:/ ... WOFF2/"http://www.w3.org/TR/WOFF2/org/TR/WOFF2/"links" ... rter"}][{"url" ... rter"}]{"url": ... F 2.0"}"url":" ... e2f64a""https: ... e2f64a"https://gist.github.com/sergejmueller/cf6b4f2133bcb3e2f64acom/sergejmueller/cf6b4f2133bcb3e2f64a"title" ... FF 2.0""Basics ... FF 2.0"Basics about WOFF 2.0Basics about WOFF 2"url":" ... -woff2""http:/ ... -woff2"http://everythingfonts.com/ttf-to-woff2http://everythingfontscom/ttf-to-woff2WOFF 2.0 converter0 converter"notes_ ... ity)."}{"1":"D ... ity)."}"1":"De ... lity).""Defaul ... lity)."Default 'enabled' for Firefox Developer Edition and Nightly, but Beta and Release versions will need to set a flag to 'true' to [use WOFF2](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face#Browser_compatibility).Default 'enabled' for Firefox Developer Edition and Nightly, but Beta and Release versions will need to set a flag to 'true' to [use WOFF2](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face#Browser_compatibility)https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face#Browser_compatibilityorg/en-US/docs/Web/CSS/@font-face#Browser_compatibility"usage_perc_y":43.46"keywor ... bfonts""woff,  ... bfonts"woff, fontface, webfonts"ie_id" ... rmat20"wofffileformat20"chrome ... 549312"6718644721549312"title" ... adjust""CSS te ... adjust"CSS text-size-adjust"descri ... ed to.""On mob ... ed to."On mobile devices, the text-size-adjust CSS property allows Web authors to control if and how the text-inflating algorithm is applied to the textual content of the element it is applied to.On mobile devices, the text-size-adjust CSS property allows Web authors to control if and how the text-inflating algorithm is applied to the textual content of the element it is applied to"spec": ... djust/""http:/ ... djust/"http://dev.w3.org/csswg/css-size-adjust/org/csswg/css-size-adjust/"url":" ... adjust""https: ... adjust"https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjustorg/en-US/docs/Web/CSS/text-size-adjust"usage_perc_y":12.17"web-an ... 63872"}web-animation{"title ... 63872"}"title" ... ns API"Web Animations API"descri ... e CSS.""Lets y ... e CSS."Lets you create animations that are run in the browser and as well as inspect and manipulate animations created through declarative means like CSS.Lets you create animations that are run in the browser and as well as inspect and manipulate animations created through declarative means like CSShttp://w3c.github.io/web-animations/http://w3cio/web-animations/"links" ... atus"}][{"url" ... atus"}]"url":" ... ome-36""http:/ ... ome-36"http://updates.html5rocks.com/2014/05/Web-Animations---element-animate-is-now-in-Chrome-36com/2014/05/Web-Animations---element-animate-is-now-in-Chrome-36HTML5 Rocks"url":" ... itions""http:/ ... itions"http://updates.html5rocks.com/2013/12/New-Web-Animations-engine-in-Blink-drives-CSS-Animations-Transitionscom/2013/12/New-Web-Animations-engine-in-Blink-drives-CSS-Animations-Transitions{"url": ... tatus"}"url":" ... edyet/""https: ... edyet/"https://birtles.github.io/areweanimatedyet/https://birtlesio/areweanimatedyet/"Curren ... status"Current Firefox status"firefo ...  d #3"}{"2":"n ...  d #3"}"33":"a d #3"a d #3"34":"a d #3""35":"a d #3""36":"a d #3""37":"a d #3""38":"a d #3""39":"a d #3""40":"a d #3""chrome ... "a #2"}{"4":"n ... "a #2"}"39":"a #2""40":"a #2""41":"a #2""42":"a #2""43":"a #2""44":"a #2""opera" ... "a #2"}{"9":"n ... "a #2"}"26":"a #2""27":"a #2""28":"a #2""29":"a #2""notes_ ... yet/)"}{"1":"P ... yet/)"}"1":"Pa ... ate()`""Partia ... ate()`"Partial support refers to basic support of `element.animate()`Partial support refers to basic support of `element"2":"Pa ... 63872)""Partia ... 63872)"Partial support refers to basic support of `element.animate()` and [playback control of AnimationPlayer](https://www.chromestatus.com/features/5633748733263872)` and [playback control of AnimationPlayer](https://www.chromestatus.com/features/5633748733263872)https://www.chromestatus.com/features/5633748733263872com/features/5633748733263872"3":"Pa ... dyet/)""Partia ... dyet/)"Partial support in Firefox is detailed in [Are we animated yet?](https://birtles.github.io/areweanimatedyet/)Partial support in Firefox is detailed in [Are we animated yet?](https://birtles.github.io/areweanimatedyet/)"usage_perc_a":53.33"keywor ... yState""animat ... yState"animate,play,pause,reverse,finish,currentTime,startTime,playbackRate,playState"ie_id" ... iptapi""webani ... iptapi"webanimationsjavascriptapi"chrome ... 263872""485434 ... 263872"4854343836631040,5633748733263872"resour ... 28128"}resource-timing{"title ... 28128"}"title" ... Timing"Resource Timing"Method ... ument."Method to help web developers to collect complete timing information related to resources on a document.Method to help web developers to collect complete timing information related to resources on a documenthttp://www.w3.org/TR/resource-timing/org/TR/resource-timing/http://aurelio.audero.it/demo/resource-timing-api-demo.htmlit/demo/resource-timing-api-demohttp://googledevelopers.blogspot.com/2013/12/measuring-network-performance-with.htmlhttp://googledeveloperscom/2013/12/measuring-network-performance-withhttp://www.sitepoint.com/introduction-resource-timing-api/com/introduction-resource-timing-api/{"1":"C ...  flag"}"1":"Ca ... g flag""Can be ... g flag"Can be enabled in Firefox using the dom.enable_resource_timing flagenable_resource_timing flag"usage_perc_y":68.69"keywor ... source""perfor ... source"performance,testing,resourceresourcetimingapi"chrome ... 728128"5796350423728128"custom ... 70272"}custom-elements{"title ... 70272"}Custom ElementsMethod of defining and using new types of DOM elements in a document.Method of defining and using new types of DOM elements in a document"spec": ... ments/"http://www.w3.org/TR/custom-elements/org/TR/custom-elements/"links" ... ents"}][{"url" ... ents"}]{"url": ... ions)"}"url":" ... ustom/""http:/ ... ustom/"http://w3c.github.io/webcomponents/spec/custom/io/webcomponents/spec/custom/"title" ... tions)""W3C Ed ... tions)"W3C Editor's Draft spec (closer to current implementations)W3C Editor's Draft spec (closer to current implementations)closer to current implementationshttp://www.polymer-project.org/platform/custom-elements.htmlpolymer-projectorg/platform/custom-elements{"url": ...  HTML"}http://www.html5rocks.com/tutorials/webcomponents/customelements/com/tutorials/webcomponents/customelements/"title" ... n HTML""HTML5R ... n HTML"HTML5Rocks - Custom Elements: defining new elements in HTML"url":" ... 234509""https: ... 234509"https://code.google.com/p/chromium/issues/detail?id=234509id=234509"Chromi ... ements"Chromium tracking bug: Implement Custom Elements{"url": ... ents)"}"url":" ... 889230""https: ... 889230"https://bugzilla.mozilla.org/show_bug.cgi?id=889230id=889230"title" ... nents)""Firefo ... nents)"Firefox tracking bug: Implement Custom Elements (from Web Components)Firefox tracking bug: Implement Custom Elements (from Web Components)from Web Components"http:/ ... ements"http://status.modern.ie/customelementshttp://statusmodernie/customelements"IE Web ... ements"IE Web Platform Status and Roadmap: Custom Elements"15":"n d""16":"n d""17":"n d""18":"n d""and_ff ...  d #1"}{"36":"p d #1"}"notes_ ... onfig"}{"1":"E ... onfig"}"1":"En ... config""Enable ... config"Enabled through the "dom.webcomponents.enabled" preference in about:configEnabled through the "domenabled" preference in about:config"usage_perc_y":45.5"ie_id" ... ements"customelements"chrome ... 470272"4642138092470272"import ... 17376"}{"title ... 17376"}"title" ... mports"HTML ImportsMethod of including and reusing HTML documents in other HTML documents.Method of including and reusing HTML documents in other HTML documents"spec": ... ports/""http:/ ... ports/"http://www.w3.org/TR/html-imports/org/TR/html-imports/"links" ... orts"}][{"url" ... orts"}]http://www.polymer-project.org/platform/html-imports.htmlorg/platform/html-imports{"url": ... e web"}"url":" ... ports/"http://www.html5rocks.com/tutorials/webcomponents/imports/com/tutorials/webcomponents/imports/"title" ... he web""HTML5R ... he web"HTML5Rocks - HTML Imports: #include for the web{"url": ... ports"}"url":" ... 240592""https: ... 240592"https://code.google.com/p/chromium/issues/detail?id=240592id=240592"Chromi ... mports"Chromium tracking bug: Implement HTML Imports"url":" ... 877072""https: ... 877072"https://bugzilla.mozilla.org/show_bug.cgi?id=877072id=877072"Firefo ... mports"Firefox tracking bug: Implement HTML Imports"url":" ... mports""http:/ ... mports"http://status.modern.ie/htmlimportsie/htmlimports"IE Web ... mports"IE Web Platform Status and Roadmap: HTML Imports"35":"p d #3"p d #3"17":"n d #4"n d #4"18":"n d #4""19":"n d #4""20":"n d #4""21":"n d #4""22":"p d #5"p d #5{"1":"F ... flags"}"1":"Fi ... config""Firefo ... config"Firefox [has no plans to support HTML imports](https://hacks.mozilla.org/2014/12/mozilla-and-web-components/) though for now it can be enabled through the "dom.webcomponents.enabled" preference in about:configFirefox [has no plans to support HTML imports]H(https://hacks.mozilla.org/2014/12/mozilla-and-web-components/)https://hacks.mozilla.org/2014/12/mozilla-and-web-components/org/2014/12/mozilla-and-web-components/ though for now it can be enabled through the "domEnabled through the "Enable HTML Imports" flag in chrome://flags"3":"En ... /flags"Enabled through the "Experimental Web Platform features" flag in chrome://flags"4":"En ... /flags"Enabled through the "Enable HTML Imports" flag in opera://flags"5":"En ... /flags"Enabled through the "Experimental Web Platform features" flag in opera://flags"usage_perc_y":43.45"ie_id" ... mports"htmlimports"chrome ... 317376"5144752345317376"input- ... ltiple"input-file-multiple"title" ... ection""Multip ... ection"Multiple file selection"descri ... icker.""Allows ... icker."Allows users to select multiple files in the file picker.Allows users to select multiple files in the file picker"spec": ... ltiple""https: ... ltiple"https://html.spec.whatwg.org/multipage/forms.html#attr-input-multiplehtml#attr-input-multiple{"url": ... roid)"}"url":" ... 348912""https: ... 348912"https://code.google.com/p/chromium/issues/detail?id=348912id=348912"title" ... droid)""Chrome ... droid)"Chrome bug (for Android)Chrome bug (for Android)for Android"url":" ... upport""http:/ ... upport"http://www.raymondcamden.com/2012/2/28/Working-with-HTML5s-multiple-file-upload-supportcom/2012/2/28/Working-with-HTML5s-multiple-file-upload-support"stats" ... n #1"}}{"ie":{ ... n #1"}}"op_min ... "n #1"}{"5.0-8.0":"n #1"}"5.0-8.0":"n #1""androi ... "n #1"}{"2.1": ... "n #1"}"2.1":"n #1""2.2":"n #1""2.3":"n #1""3":"n #1""4":"n #1""4.1":"n #1""4.2-4.3":"n #1""4.4":"n #1""4.4.3-4.4.4":"n #1""op_mob ... "n #1"}{"10":" ... "n #1"}"10":"n #1""11":"n #1""11.1":"n #1""11.5":"n #1""12":"n #1""12.1":"n #1""24":"n #1""and_ff ... "n #1"}{"36":"n #1"}"36":"n #1""and_uc ... "n #1"}{"9.9":"n #1"}"9.9":"n #1"{"1":"N ... ion. "}"1":"No ... tion. ""Not su ... tion. "Not supported when tested on Android, presumably an OS limitation. Not supported when tested on Android, presumably an OS limitation"usage_perc_y":67.8"atob-b ... id":""}atob-btoa"title" ... coding""Base64 ... coding"Base64 encoding and decoding"descri ... toa().""Utilit ... toa()."Utility functions for of encoding and decoding strings to and from base 64: window.atob() and window.btoa().Utility functions for of encoding and decoding strings to and from base 64: window and window"spec": ... l#atob""https: ... l#atob"https://html.spec.whatwg.org/multipage/webappapis.html#atoborg/multipage/webappapishtml#atob{"url": ... toa()"}"url":" ... w.btoa""https: ... w.btoa"https://developer.mozilla.org/en-US/docs/Web/API/Window.btoaorg/en-US/docs/Web/API/Window"title" ... btoa()""MDN ar ... btoa()"MDN article on btoa()MDN article on btoa{"url": ... tob()"}"url":" ... w.atob""https: ... w.atob"https://developer.mozilla.org/en-US/docs/Web/API/Window.atob"title" ... atob()""MDN ar ... atob()"MDN article on atob()MDN article on atob"url":" ... e64.js""https: ... e64.js"https://github.com/davidchambers/Base64.jscom/davidchambers/Base64"usage_perc_y":93.06"keywor ... b,btoa"atob,btoa"css-ap ... id":""}css-appearance"title" ... arance"CSS Appearance"The `a ... rties."The `appearance` property defines how elements (particularly form controls) appear by default. By setting the value to `none` the default appearance can be entirely redefined using other CSS properties.The `appearance` property defines how elements (particularly form controls)particularly form controls appear by default By setting the value to `none` the default appearance can be entirely redefined using other CSS properties"spec": ... arance""http:/ ... arance"http://wiki.csswg.org/spec/css4-ui#appearanceorg/spec/css4-ui#appearance"url":" ... rance/""http:/ ... rance/"http://css-tricks.com/almanac/properties/a/appearance/com/almanac/properties/a/appearance/"notes" ... usage.""The `a ... usage."The `appearance` property currently does not appear in any CSS specification so there is no specifically correct usage.The `appearance` property currently does not appear in any CSS specification so there is no specifically correct usage"notes_ ... L.dll"}{"1":"` ... L.dll"}"1":"`- ... ML.dll""`-webk ... ML.dll"`-webkit-appearance` with value `none` is supported on IE11 Mobile for phones with "[Windows Phone 8.1 Update](http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx)", and in EdgeHTML.dll`-webkit-appearance` with value `none` is supported on IE11 Mobile for phones with "", and in EdgeHTMLdll"usage_perc_y":79.98"usage_perc_a":0.51"css-ba ... id":""}"css-ba ... ffsets"css-background-offsets"title" ... ffsets""CSS ba ... ffsets"CSS background-position edge offsets"descri ... orner.""Allows ... orner."Allows CSS background images to be positioned relative to the specified edge using the 3 to 4 value syntax. For example: `background-position: right 5px bottom 5px;` for positioning 5px from the bottom-right corner.Allows CSS background images to be positioned relative to the specified edge using the 3 to 4 value syntax For example: `background-position: right 5px bottom 5px;` for positioning 5px from the bottom-right corner"spec": ... sition"http://www.w3.org/TR/css3-background/#background-positionorg/TR/css3-background/#background-position{"url": ... ition"}https://developer.mozilla.org/en-US/docs/Web/CSS/background-positionorg/en-US/docs/Web/CSS/background-position"MDN ar ... sition"MDN article on background-positionhttp://briantree.se/quick-tip-06-use-four-value-syntax-properly-position-background-images/http://briantreese/quick-tip-06-use-four-value-syntax-properly-position-background-images/Basic information"usage_perc_y":85.82"keywor ... syntax"4 value syntax"css-su ... 58592"}css-supports-api"title" ... () API"CSS.supports() API API"descri ... r not.""The CS ... r not."The CSS.supports() static methods returns a Boolean value indicating if the browser supports a given CSS feature, or not.The CSS static methods returns a Boolean value indicating if the browser supports a given CSS feature, or nothttp://dev.w3.org/csswg/css-conditional/#the-css-interfaceorg/csswg/css-conditional/#the-css-interfacehttps://developer.mozilla.org/en-US/docs/Web/API/CSS.supportsorg/en-US/docs/Web/API/CSS"url":" ... 1/edit""http:/ ... 1/edit"http://jsbin.com/rimevilotari/1/editcom/rimevilotari/1/edit{"url": ...  Rule"}"https: ... ction/"https://dev.opera.com/articles/native-css-feature-detection/com/articles/native-css-feature-detection/"title" ... s Rule""Native ... s Rule"Native CSS Feature Detection via the @supports Rulehttp://davidwalsh.name/css-supportsname/css-supports"title" ... pports"CSS @supports"url":" ... 619480""http:/ ... 619480"http://blog.csdn.net/hfahe/article/details/8619480csdnnet/hfahe/article/details/8619480Article (Chinese)Article "notes" ... Safari""See al ... Safari"See also [@supports in CSS](#feat=css-featurequeries)

See the [WebKit Bug](http://trac.webkit.org/changeset/142739) for status in SafariSee also [@supports in CSS](#feat=css-featurequeries)#feat=css-featurequeries

See the [WebKit Bug](http://trac.webkit.org/changeset/142739)http://trac.webkit.org/changeset/142739http://tracorg/changeset/142739 for status in Safari"notes_ ... CSS')"}{"1":"O ... CSS')"}"1":"Op ... sCSS')""Opera  ... sCSS')"Opera 12 uses a different method name('window.supportsCSS')Opera 12 uses a different method name('window.supportsCSS')'window.supportsCSS''windowsupportsCSS'"usage_perc_y":60.93conditional"css-to ... 51552"}css-touch-action{"title ... 51552"}"CSS to ... operty"CSS touch-action property"descri ... oming.""touch- ... oming."touch-action is a CSS property that controls filtering of gesture events, providing developers with a declarative mechanism to selectively disable touch scrolling (in one or both axes), pinch-zooming or double-tap-zooming.touch-action is a CSS property that controls filtering of gesture events, providing developers with a declarative mechanism to selectively disable touch scrolling (in one or both axes)in one or both axes, pinch-zooming or double-tap-zoomingorg/TR/pointerevents/#the-touch-action-css-property"url":" ... action""http:/ ... action"http://docs.webplatform.org/wiki/css/properties/touch-actionorg/wiki/css/properties/touch-action"url":" ... 3.aspx""http:/ ... 3.aspx"http://msdn.microsoft.com/en-us/library/windows/apps/hh767313.aspxcom/en-us/library/windows/apps/hh767313"title":"MSDN Docs"MSDN Docs{"url": ...  away"}"url":" ... e-away""http:/ ... e-away"http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-awaycom/2013/12/300ms-tap-delay-gone-away"title" ... e away""300ms  ... e away"300ms tap delay, gone away{"url": ... Delay"}"url":" ... -delay""http:/ ... -delay"http://blogs.telerik.com/appbuilder/posts/13-11-21/what-exactly-is.....-the-300ms-click-delaytelerikcom/appbuilder/posts/13-11-21/what-exactly-is-the-300ms-click-delay"title" ...  Delay""What E ...  Delay"What Exactly Is..... The 300ms Click DelayWhat Exactly Is The 300ms Click Delay"url":" ... delay/""http:/ ... delay/"http://thx.github.io/mobile/300ms-click-delay/http://thxio/mobile/300ms-click-delay/"What E ... inese)"What Exactly Is..... The 300ms Click Delay(Chinese)"10":"y x #2"y x #2"notes_ ... e-y'."}{"1":"S ... e-y'."}"1":"Su ... fault.""Suppor ... fault."Supported in Firefox behind the `layout.css.touch_action.enabled` flag, Firefox for Windows 8 Touch ('Metro') enabled by default.touch_actionenabled` flag, Firefox for Windows 8 Touch ('Metro')'Metro' enabled by default"2":"IE ... de-y'.""IE10+  ... de-y'."IE10+ has already supported these property which are not in standard at present such as'pinch-zoom','double-tap-zoom','cross-slide-x','cross-slide-y'.IE1 has already supported these property which are not in standard at present such as'pinch-zoom','double-tap-zoom','cross-slide-x','cross-slide-y'"usage_perc_y":53.44"keywor ... action"touch action"ie_id" ... action"csstouchaction"chrome ... 551552"5912074022551552"autofo ... id":""}"Autofo ... ribute"Autofocus attribute"descri ...  load.""Allows ...  load."Allows a form field to be immediately focused on page load.Allows a form field to be immediately focused on page loadhttps://html.spec.whatwg.org/multipage/forms.html#autofocusing-a-form-control:-the-autofocus-attributehtml#autofocusing-a-form-control:-the-autofocus-attribute"links" ... ocus"}][{"url" ... ocus"}]{"url": ... focus"}"url":" ... ofocus""http:/ ... ofocus"http://davidwalsh.name/autofocusname/autofocus"title" ... ofocus""Articl ... ofocus"Article on autofocus"notes" ... Views.""While  ... Views."While not supported in iOS Safari, it does work in iOS WebViews.While not supported in iOS Safari, it does work in iOS WebViews"usage_perc_y":78.64"css-cl ... id":""}css-clip-path"CSS cl ... operty"CSS clip-path property"descri ... ition.""Method ... ition."Method of defining the visible region of an element using SVG or a shape definition.Method of defining the visible region of an element using SVG or a shape definition"spec": ... p-path""http:/ ... p-path"http://www.w3.org/TR/css-masking-1/#the-clip-pathorg/TR/css-masking-1/#the-clip-path"url":" ... /clip/""http:/ ... /clip/"http://css-tricks.com/almanac/properties/c/clip/com/almanac/properties/c/clip/"7.0-7.1":"a x #2""androi ...  x #2"}{"2.1": ...  x #2"}"4.4":"a x #2""4.4.3- ... a x #2""notes_ ... SVGs."}{"1":"P ... SVGs."}"1":"Pa ... yntax."Partial support refers to only supporting the `url()` syntax.Partial support refers to only supporting the `url"2":"Pa ...  SVGs.""Partia ...  SVGs."Partial support refers to supporting shapes and the `url(#foo)` syntax for inline SVG, but not shapes in external SVGs.Partial support refers to supporting shapes and the `url` syntax for inline SVG, but not shapes in external SVGs"usage_perc_a":71.47"getran ... id":""}getrandomvalues"title" ... lues()""crypto ... lues()"crypto.getRandomValues()"descri ... alues.""Method ... alues."Method of generating cryptographically random values.Method of generating cryptographically random values"spec": ... Values""http:/ ... Values"http://www.w3.org/TR/WebCryptoAPI/#RandomSource-method-getRandomValuesorg/TR/WebCryptoAPI/#RandomSource-method-getRandomValues"url":" ... Values""https: ... Values"https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValuesorg/en-US/docs/Web/API/window"usage_perc_y":80.16"screen ... 61760"}screen-orientation{"title ... 61760"}Screen Orientation"descri ... state.""Provid ... state."Provides the ability to read the screen orientation state, to be informed when this state changes, and to be able to lock the screen orientation to a specific state.Provides the ability to read the screen orientation state, to be informed when this state changes, and to be able to lock the screen orientation to a specific statehttp://www.w3.org/TR/screen-orientation/org/TR/screen-orientation/http://aurelio.audero.it/demo/screen-orientation-api-demo.htmlit/demo/screen-orientation-api-demohttps://developer.mozilla.org/en-US/docs/Web/API/Screen.orientationorg/en-US/docs/Web/API/Screenhttp://www.sitepoint.com/introducing-screen-orientation-api/com/introducing-screen-orientation-api/"notes" ... since.""Partia ... since."Partial support refers to an older version of the draft specification, and the spec has undergone significant changes since.Partial support refers to an older version of the draft specification, and the spec has undergone significant changes since"usage_perc_y":45.91"usage_perc_a":20.25"screen ... ionapi"screenorientationapi"chrome ... 061760"6191285283061760"font-l ... 53792"}font-loading{"title ... 53792"}"title" ... oading"CSS Font Loading"descri ...  page.""This C ...  page."This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script. It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page.This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page"spec": ... ading/""http:/ ... ading/"http://dev.w3.org/csswg/css-font-loading/org/csswg/css-font-loading/https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance/#font-load-eventsigvitacom/2014/01/31/optimizing-web-font-rendering-performance/#font-load-events"Optimi ... events"Optimizing with font load events["CSS3","JS API"]"notes_ ... ault."}{"1":"C ... ault."}"1":"Ca ... fault.""Can be ... fault."Can be enabled in Firefox using the `layout.css.font-loading-api.enabled` flag. See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1149381) for information on when it will be enabled by default.Can be enabled in Firefox using the `layoutfont-loading-api See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1149381)https://bugzilla.mozilla.org/show_bug.cgi?id=1149381id=1149381 for information on when it will be enabled by default"usage_perc_y":43.89"chrome ... 953792"6244676289953792"font-u ... id":""}font-unicode-range"title" ... etting""Font u ... etting"Font unicode-range subsetting"descri ... t run.""This @ ... t run."This @font-face descriptor defines the set of Unicode codepoints that may be supported by the font face for which it is declared. The descriptor value is a comma-delimited list of Unicode range (<urange>) values. The union of these ranges defines the set of codepoints that serves as a hint for user agents when deciding whether or not to download a font resource for a given text run.This @font-face descriptor defines the set of Unicode codepoints that may be supported by the font face for which it is declared The descriptor value is a comma-delimited list of Unicode range (<urange>)<urange> values The union of these ranges defines the set of codepoints that serves as a hint for user agents when deciding whether or not to download a font resource for a given text run"spec": ... -range""http:/ ... -range"http://dev.w3.org/csswg/css-fonts/#descdef-unicode-rangeorg/csswg/css-fonts/#descdef-unicode-range{"url": ... range"}https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-rangeorg/en-US/docs/Web/CSS/unicode-range"title" ... -range"MDN: unicode-rangehttps://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/css/property/unicode-rangecom/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSPropertieshtml#//apple_ref/css/property/unicode-range"Safari ... -range"Safari CSS Reference: unicode-rangehttp://docs.webplatform.org/wiki/css/properties/unicode-rangeorg/wiki/css/properties/unicode-range"Web Pl ... -range"Web Platform Docs: unicode-range"http:/ ... output"http://jsbin.com/jeqoguzeye/1/edit?html,outputcom/jeqoguzeye/1/edit?html,output{"36":"n d #1"}"notes" ... id=0).""Partia ... id=0)."Partial support indicates that unnecessary code-ranges are downloaded by the browser - see [browser test matrix](https://docs.google.com/a/chromium.org/spreadsheets/d/18h-1gaosu4-KYxH8JUNL6ZDuOsOKmWfauoai3CS3hPY/edit?pli=1#gid=0).Partial support indicates that unnecessary code-ranges are downloaded by the browser - see [browser test matrix](https://docs.google.com/a/chromium.org/spreadsheets/d/18h-1gaosu4-KYxH8JUNL6ZDuOsOKmWfauoai3CS3hPY/edit?pli=1#gid=0)https://docs.google.com/a/chromium.org/spreadsheets/d/18h-1gaosu4-KYxH8JUNL6ZDuOsOKmWfauoai3CS3hPY/edit?pli=1#gid=0com/a/chromiumorg/spreadsheets/d/18h-1gaosu4-KYxH8JUNL6ZDuOsOKmWfauoai3CS3hPY/edipli=1#gid=0"1":"Ca ... ` flag""Can be ... ` flag"Can be enabled in Firefox using the `layout.css.unicode-range.enabled` flagunicode-range"usage_perc_a":35.69"keywor ... -range""font f ... -range"font face,unicode,unicode-range"gamepa ... 11168"}gamepad{"title ... 11168"}"title" ... ad API"Gamepad API"API to ... cript."API to support input from USB gamepad controllers though JavaScript.API to support input from USB gamepad controllers though JavaScript"spec": ... mepad/""http:/ ... mepad/"http://www.w3.org/TR/gamepad/org/TR/gamepad/"url":" ... dtest/""http:/ ... dtest/"http://luser.github.io/gamepadtest/http://luserio/gamepadtest/Controller demo"url":" ... ad_API""https: ... ad_API"https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_APIorg/en-US/docs/Web/API/Gamepad_API"url":" ... mepad/"http://www.html5rocks.com/en/tutorials/doodles/gamepad/com/en/tutorials/doodles/gamepad/"url":" ... -21345""http:/ ... -21345"http://gamedevelopment.tutsplus.com/tutorials/using-the-html5-gamepad-api-to-add-controller-support-to-browser-games--cms-21345http://gamedevelopmentcom/tutorials/using-the-html5-gamepad-api-to-add-controller-support-to-browser-games--cms-21345Detailed tutorial"usage_perc_y":45.93"ie_id":"gamepadapi"gamepadapi"chrome ... 111168"5118776383111168"css-fo ... 76512"}css-font-stretch{"title ... 76512"}"title" ... tretch"CSS font-stretch"descri ...  font.""If a f ...  font."If a font has multiple types of variations based on the width of characters, the `font-stretch` property allows the appropriate one to be selected. The property in itself does not cause the browser to stretch to a font.If a font has multiple types of variations based on the width of characters, the `font-stretch` property allows the appropriate one to be selected The property in itself does not cause the browser to stretch to a font"spec": ... h-prop""http:/ ... h-prop"http://www.w3.org/TR/css-fonts-3/#font-stretch-proporg/TR/css-fonts-3/#font-stretch-prop"url":" ... tretch""https: ... tretch"https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretchorg/en-US/docs/Web/CSS/font-stretch"url":" ... retch/""http:/ ... retch/"http://css-tricks.com/almanac/properties/f/font-stretch/com/almanac/properties/f/font-stretch/"usage_perc_y":23.78"keywor ... tretch"font stretch"ie_id" ... tretch"cssfontstretch"chrome ... 176512"4598830058176512"font-s ... id":""}font-size-adjust"CSS fo ... adjust"CSS font-size-adjustMethod of adjusting the font size in a matter that relates to the height of lowercase vs. uppercase letters. This makes it easier to set the size of fallback fonts.Method of adjusting the font size in a matter that relates to the height of lowercase vs uppercase letters This makes it easier to set the size of fallback fonts"spec": ... t-prop""http:/ ... t-prop"http://www.w3.org/TR/css-fonts-3/#font-size-adjust-proporg/TR/css-fonts-3/#font-size-adjust-prop"links" ... just"}][{"url" ... just"}]{"url": ... djust"}"http:/ ... perty/"http://webdesignernotebook.com/css/the-little-known-font-size-adjust-css3-property/http://webdesignernotebookcom/css/the-little-known-font-size-adjust-css3-property/"Articl ... adjust"Article on font-size-adjusthttps://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjustorg/en-US/docs/Web/CSS/font-size-adjust"MDN ar ... adjust"MDN article on font-size-adjust"Does n ... perty."Does not appear to work on Firefox mobile, despite recognition of the property.Does not appear to work on Firefox mobile, despite recognition of the property"usage_perc_y":12.25"link-i ... id":""}link-icon-png"title" ... vicons"PNG favicons"descri ... rable.""Icon u ... rable."Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the PNG format can be preferable.Icon used by browsers to identify a webpage or site While all browsers support the `ico` format, the PNG format can be preferable"spec": ... l-icon""https: ... l-icon"https://html.spec.whatwg.org/multipage/semantics.html#rel-iconhtml#rel-icon"links" ... uses"}][{"url" ... uses"}]{"url": ...  uses"}"url":" ... -quiz/""http:/ ... -quiz/"http://css-tricks.com/favicon-quiz/com/favicon-quiz/"title" ... s uses""Detail ... s uses"Detailed info on favicons for various uses"stats" ... y #2"}}{"ie":{ ... y #2"}}"chrome ... "y #1"}{"4":"y ... "y #1"}"33":"y #1""34":"y #1""35":"y #1""36":"y #1""37":"y #1""38":"y #1""39":"y #1""40":"y #1""41":"y #1""42":"y #1""43":"y #1""44":"y #1""safari ... "y #2"}{"3.1": ... "y #2"}"3.1":"y #2""3.2":"y #2""4":"y #2""5":"y #2""5.1":"y #2""7":"y #2""7.1":"y #2""8":"y #2""opera" ... "y #1"}{"9":"y ... "y #1"}"9":"y #3"y #3"9.5-9.6":"y #3""10.0-10.1":"y #3""10.5":"y #3""10.6":"y #3""11":"y #3""11.1":"y #3""11.5":"y #3""11.6":"y #3""12":"y #3""12.1":"y #3""ios_sa ... "n #4"}{"3.2": ... "n #4"}"3.2":"n #4"n #4"4.0-4.1":"n #4""4.2-4.3":"n #4""5.0-5.1":"n #4""6.0-6.1":"n #4""7.0-7.1":"n #4""8":"n #4""8.1-8.3":"n #4""op_min ... "n #4"}{"5.0-8.0":"n #4"}"5.0-8.0":"n #4""androi ... "y #3"}{"2.1": ... "y #3"}"4.4":"y #3""4.4.3-4.4.4":"y #3""40":"y #3""bb":{" ... "n #4"}{"7":"y ... "n #4"}"10":"n #4""op_mob ... "n #4"}{"10":" ... "n #4"}"11":"n #4""11.1":"n #4""11.5":"n #4""12":"n #4""12.1":"n #4""24":"n #4""ie_mob ... "n #4"}"and_uc ... "y #2"}{"9.9":"y #2"}"9.9":"y #2""notes" ... -svg).""Win8/I ... -svg)."Win8/IE10+ and iOS Safari support other types of icons for webpages too, using alternate tags.

See also [SVG favicons](#feat=link-icon-svg).Win8/IE1 and iOS Safari support other types of icons for webpages too, using alternate tags

See also [SVG favicons](#feat=link-icon-svg)#feat=link-icon-svg"notes_ ... tc.)."}{"1":"I ... tc.)."}"1":"If ... s set.""If bot ... s set."If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set.If both ICO and PNG are available, will use ICO over PNG if ICO has better matching sizes set"2":"If ... s set."If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set.If both ICO and PNG are available, will ALWAYS use ICO file, regardless of sizes set"3":"If ... ndom).""If mul ... ndom)."If multiple formats are available, will use the last one loaded, regardless of sizes (effectively picks at random).If multiple formats are available, will use the last one loaded, regardless of sizes (effectively picks at random)effectively picks at random"4":"Do ... etc.).""Does n ... etc.)."Does not use favicons at all (but may have alternative for bookmarks, etc.).Does not use favicons at all (but may have alternative for bookmarks, etc.)but may have alternative for bookmarks, etc.but may have alternative for bookmarks, etc"usage_perc_y":81.21link-icon-svgSVG favicons"descri ... icons.""Icon u ... icons."Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the SVG format can be preferable to more easily support higher resolutions or larger icons.ico` format, the SVG format can be preferable to more easily support higher resolutions or larger icons"links" ...  bug"}][{"url" ...  bug"}]{"url": ... e bug"}"url":" ... 294179""http:/ ... 294179"http://crbug.com/294179com/294179"title":"Chrome bug"Chrome bug"firefo ... "a #2"}{"2":"n ... "a #2"}"25":"a #2""30":"a #2""31":"a #2""32":"a #2""33":"a #2""38":"a #2""ios_sa ... "n #1"}{"3.2": ... "n #1"}"3.2":"n #1""4.0-4.1":"n #1""5.0-5.1":"n #1""6.0-6.1":"n #1""7.0-7.1":"n #1""8":"n #1""8.1-8.3":"n #1""bb":{" ... "n #1"}{"7":"n ... "n #1"}"ie_mob ... "n #1"}"notes" ... -png).""See al ... -png)."See also [PNG favicons](#feat=link-icon-png).[PNG favicons]N(#feat=link-icon-png)#feat=link-icon-png"notes_ ... c14)."}{"1":"D ... c14)."}"1":"Do ... at all""Does n ... at all"Does not use favicons at all"2":"Pa ... #c14).""Partia ... #c14)."Partial support in Firefox refers to only loading the SVG favicon the first time, but not [on subsequent loads](https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c14).Partial support in Firefox refers to only loading the SVG favicon the first time, but not [on subsequent loads](https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c14)https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c14id=366324#c14"usage_perc_a":12.11"css-me ... 70944"}"css-me ... lution"css-media-resolution{"title ... 70944"}"title" ... eature""Media  ... eature"Media Queries: resolution feature"descri ... query.""Allows ... query."Allows a media query to be set based on the device pixels used per CSS unit. While the standard uses `min`/`max-resolution` for this, some browsers support the older non-standard `device-pixel-ratio` media query.Allows a media query to be set based on the device pixels used per CSS unit While the standard uses `min`/`max-resolution` for this, some browsers support the older non-standard `device-pixel-ratio` media query"spec": ... lution""http:/ ... lution"http://www.w3.org/TR/css3-mediaqueries/#resolutionorg/TR/css3-mediaqueries/#resolution"links" ... atio"}][{"url" ... atio"}]{"url": ... ratio"}"url":" ... ratio/""http:/ ... ratio/"http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/"title" ... -ratio""How to ... -ratio"How to unprefix -webkit-device-pixel-ratio"stats" ... x #3"}}{"ie":{ ... x #3"}}"3.5":"a #2""4":"a x #3""5":"a x #3""6":"a x #3""7":"a x #3""8":"a x #3""9":"a x #3""10":"a x #3""11":"a x #3""12":"a x #3""13":"a x #3""14":"a x #3""15":"a x #3""16":"a x #3""17":"a x #3""18":"a x #3""19":"a x #3""20":"a x #3""21":"a x #3""22":"a x #3""23":"a x #3""24":"a x #3""25":"a x #3""26":"a x #3""27":"a x #3""28":"a x #3""5.1":"a x #3""6.1":"a x #3""7.1":"a x #3""9.5-9.6":"a x #3""10.0-10.1":"a x #3""10.5":"a x #3""10.6":"a x #3""11.1":"a x #3""11.5":"a x #3""11.6":"a x #3""4.0-4.1":"a x #3""4.2-4.3":"a x #3""5.0-5.1":"a x #3""6.0-6.1":"a x #3""7.0-7.1":"a x #3""8.1-8.3":"a x #3""2.3":"u""3":"u""4.1":"a x #3""bb":{" ...  x #3"}{"7":"a ...  x #3"}"and_uc ...  x #3"}{"9.9":"a x #3"}"9.9":"a x #3""notes_ ... atio`"}{"1":"S ... atio`"}"1":"Su ... units.""Suppor ... units."Supports the `dpi` unit, but does not support `dppx` or `dpcm` units.Supports the `dpi` unit, but does not support `dppx` or `dpcm` units"2":"Fi ... io: 2`""Firefo ... io: 2`"Firefox before 16 supports only `dpi` unit, but you can set `2dppx` per `min--moz-device-pixel-ratio: 2`"3":"Su ... ratio`""Suppor ... ratio`"Support the non-standard `min`/`max-device-pixel-ratio`"4":"Su ... ratio`""usage_perc_y":61.17"usage_perc_a":33.39"parent ... ueries""keywor ... lution""@media ... lution"@media,device-pixel-ratio,resolution"ie_id" ... aquery""mediaq ... aquery"mediaqueriesresolutionfeature,dppxunitfortheresolutionmediaquery"chrome ... 570944"5944509615570944"xml-se ... id":""}xml-serializer"title" ... zation""DOM Pa ... zation"DOM Parsing and Serialization"descri ... HTML`.""Variou ... HTML`."Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `adjacentHTML`.Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `adjacentHTML`"spec": ... rsing/""http:/ ... rsing/"http://www.w3.org/TR/DOM-Parsing/org/TR/DOM-Parsing/"links" ... izer"}][{"url" ... izer"}]"url":" ... alizer""https: ... alizer"https://developer.mozilla.org/en-US/docs/XMLSerializerorg/en-US/docs/XMLSerializer"MDN -  ... alizer"MDN - XMLSerializer"5.5":"a #2""2":"a #2""3":"a #2""4.0-4.1":"a #1""6.0-6.1":"a #1""op_min ... 0":"u"}{"5.0-8.0":"u"}"5.0-8.0":"u""2.2":"a #1""2.3":"a #1""notes_ ... else."}{"1":"P ... else."}"1":"Pa ... arser.""Partia ... arser."Partial support refers to lacking support for `parseFromString` on the DOMParser.Partial support refers to lacking support for `parseFromString` on the DOMParser"2":"Pa ...  else.""Partia ...  else."Partial support in older IE refers to only supporting `innerHTML`, nothing else.Partial support in older IE refers to only supporting `innerHTML`, nothing else"usage_perc_y":78.94"usage_perc_a":15.4"keywor ... String"css-image-set"title" ... ge-set"CSS image-set"descri ... reens.""Method ... reens."Method of letting the browser pick the most appropriate CSS background image from a given set, primarily for high PPI screens.Method of letting the browser pick the most appropriate CSS background image from a given set, primarily for high PPI screenshttp://dev.w3.org/csswg/css-images-3/#image-set-notationorg/csswg/css-images-3/#image-set-notation"url":" ... e-set/""http:/ ... e-set/"http://cloudfour.com/examples/image-set/http://cloudfourcom/examples/image-set/{"7":"u","10":"y x"}"usage_perc_y":59.79"css-bo ... nbreak"css-boxdecorationbreak"CSS bo ... -break"CSS box-decoration-break"descri ... line).""Contro ... line)."Controls whether the box's margins, borders, padding, and other decorations wrap the broken edges of the box fragments (when the box is split by a break (page/column/region/line).http://www.w3.org/TR/css3-break/#break-decorationorg/TR/css3-break/#break-decoration"links" ... rder"}][{"url" ... rder"}]https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-breakorg/en-US/docs/Web/CSS/box-decoration-break{"url": ... order"}http://jsbin.com/xojoro/edit?css,outputcom/xojoro/edicss,output"title" ... border""Demo o ... border"Demo of effect on box border{"9":"u ... :"y x"}"usage_perc_y":73.09"keywor ... ,break""box-de ... ,break"box-decoration,box decoration,break"object ... 88672"}object-observe{"title ... 88672"}"title" ... inding""Object ... inding"Object.observe data bindingobserve data binding"descri ... posals""Method ... posals"Method for data binding, part of the ECMAScript 7 proposals"spec": ... bserve""http:/ ... bserve"http://wiki.ecmascript.org/doku.php?id=harmony:observeecmascriptorg/dokuphp?id=harmony:observe"links" ... ve()"}][{"url" ... ve()"}]{"url": ... rve()"}"url":" ... serve/""http:/ ... serve/"http://www.html5rocks.com/en/tutorials/es7/observe/com/en/tutorials/es7/observe/"title" ... erve()""Data-b ... erve()"Data-binding Revolutions with Object.observe()Data-binding Revolutions with Object"ie_id" ... bserve"objectobserve"chrome ... 988672"6147094632988672"broadc ... 88352"}broadcastchannel"title" ... hannel""descri ... sages.""Broadc ... sages."BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers) to send each other messages.BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers)windows, workers to send each other messages"spec": ... ntexts""https: ... ntexts"https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-browsing-contextshtml#broadcasting-to-other-browsing-contextshttps://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannelorg/en-US/docs/Web/API/BroadcastChannel"keywor ... saging""broadc ... saging"broadcast,channel,messaging"chrome ... 988352"4585496197988352"css-cr ... 39776"}css-crisp-edges{"title ... 39776"}"Crisp  ... images"Crisp edges/pixelated images"descri ... ated`.""Forces ... ated`."Forces images to be scaled with an algorithm that preserves contrast and edges in the image, without smoothing colors or introduce blur. This is intended for images such as pixel art. Official values that accomplish this for the `image-rendering` property are `crisp-edges` and `pixelated`.Forces images to be scaled with an algorithm that preserves contrast and edges in the image, without smoothing colors or introduce blur This is intended for images such as pixel art Official values that accomplish this for the `image-rendering` property are `crisp-edges` and `pixelated`"spec": ... -edges""http:/ ... -edges"http://dev.w3.org/csswg/css-images-3/#valdef-image-rendering-crisp-edgesorg/csswg/css-images-3/#valdef-image-rendering-crisp-edgeshttps://developer.mozilla.org/en-US/docs/Web/CSS/image-renderingorg/en-US/docs/Web/CSS/image-rendering"url":" ... elated""http:/ ... elated"http://updates.html5rocks.com/2015/01/pixelatedcom/2015/01/pixelated"firefo ...  x #3"}{"2":"n ...  x #3"}"3.6":"y x #3""4":"y x #3""5":"y x #3""6":"y x #3""7":"y x #3""9":"y x #3""10":"y x #3""11":"y x #3""12":"y x #3""13":"y x #3""14":"y x #3""15":"y x #3""16":"y x #3""17":"y x #3""18":"y x #3""19":"y x #3""20":"y x #3""21":"y x #3""22":"y x #3""23":"y x #3""24":"y x #3""25":"y x #3""26":"y x #3""27":"y x #3""28":"y x #3""29":"y x #3""30":"y x #3""31":"y x #3""32":"y x #3""33":"y x #3""34":"y x #3""35":"y x #3""36":"y x #3""37":"y x #3""38":"y x #3""39":"y x #3""40":"y x #3""chrome ... "y #4"}{"4":"n ... "y #4"}"41":"y #4"y #4"42":"y #4""43":"y #4""44":"y #4""6.1":"y x #3""opera" ... "y #4"}{"9":"n ... "y #4"}"11.6":"y x #3""12.1":"y x #3""28":"y #4""29":"y #4""7.0-7.1":"y x #3""and_ch ... "y #4"}{"41":"y #4"}"and_ff ...  x #3"}{"36":"y x #3"}"Note t ... perty."Note that prefixes apply to the value (e.g. `-moz-crisp-edges`), not the `image-rendering` property.Note that prefixes apply to the value (e.g. `-moz-crisp-edges`)e.g. `-moz-crisp-edges` `-moz-crisp-edges`, not the `image-rendering` property"notes_ ... ges`."}{"1":"S ... ges`."}"1":"Su ... trast`""Suppor ... trast`"Supported using the non-standard value `-webkit-optimize-contrast`"2":"In ... ghbor`""Intern ... ghbor`"Internet Explorer accomplishes support using the non-standard declaration `-ms-interpolation-mode: nearest-neighbor`"3":"Su ... ated`.""Suppor ... ated`."Supports the `crisp-edges` value, but not `pixelated`.Supports the `crisp-edges` value, but not `pixelated`"4":"Su ... dges`.""Suppor ... dges`."Supports the `pixelated` value, but not `crisp-edges`.Supports the `pixelated` value, but not `crisp-edges`"usage_perc_y":51.81"usage_perc_a":18.47"keywor ... -edges""image- ... -edges"image-rendering,crisp-edges"chrome ... 939776"5118058116939776"css-te ... n-last"css-text-align-last"title" ... n-last""CSS3 t ... n-last"CSS3 text-align-last"descri ... tify`.""CSS pr ... tify`."CSS property to describe how the last line of a block or a line right before a forced line break when `text-align` is `justify`.CSS property to describe how the last line of a block or a line right before a forced line break when `text-align` is `justify`http://www.w3.org/TR/css3-text/#text-align-last-propertyorg/TR/css3-text/#text-align-last-property{"url": ... -last"}"url":" ... n-last""https: ... n-last"https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-lastorg/en-US/docs/Web/CSS/text-align-last"MDN te ... n-last"MDN text-align-last"url":" ... -last/""http:/ ... -last/"http://blogs.adobe.com/webplatform/2014/02/25/improving-your-sites-visual-details-css3-text-align-last/com/webplatform/2014/02/25/improving-your-sites-visual-details-css3-text-align-last/"Adobe  ... rticle"Adobe Web Platform Article"chrome ...  d #2"}{"4":"n ...  d #2"}"37":"n d #2""38":"n d #2""39":"n d #2""40":"n d #2""41":"n d #2""42":"n d #2""43":"n d #2""44":"n d #2""opera" ...  d #3"}{"9":"n ...  d #3"}"22":"n d #3""23":"n d #3""24":"n d #3""25":"n d #3""26":"n d #3""27":"n d #3""28":"n d #3""29":"n d #3"{"1":"I ... flags"}"1":"In ... orted.""In Int ... orted."In Internet Explorer, the start and end values are not supported.In Internet Explorer, the start and end values are not supportedEnabled through the "Enable Experimental Web Platform Features" flag in chrome://flagsEnabled through the "Enable Experimental Web Platform Features" flag in opera://flags"usage_perc_y":12.09"usage_perc_a":14.15"keywor ... n last"text align last"css-lo ... id":""}css-logical-props"title" ... erties""CSS Lo ... erties"CSS Logical Properties"descri ... /right""Use st ... /right"Use start/end properties that depend on LTR or RTL writing direction instead of left/right"spec": ... props/""http:/ ... props/"http://dev.w3.org/csswg/css-logical-props/org/csswg/css-logical-props/"links" ... tart"}][{"url" ... tart"}]{"url": ... start"}"url":" ... -start""https: ... -start"https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-margin-startorg/en-US/docs/Web/CSS/-moz-margin-start"title" ... -start""MDN -m ... -start"MDN -moz-margin-starthttps://developer.mozilla.org/en-US/docs/Web/CSS/-moz-padding-startorg/en-US/docs/Web/CSS/-moz-padding-startMDN -moz-padding-start"stats" ... x #2"}}{"ie":{ ... x #2"}}{"4":"a ...  x #2"}"4":"a x #2""5":"a x #2""13":"a x #2""14":"a x #2""3.1":"a x #2""3.2":"a x #2""5.1":"a x #2""4.0-4.1":"a x #2""4.2-4.3":"a x #2""5.0-5.1":"a x #2""6.0-6.1":"a x #2""2.1":"a x #2""2.2":"a x #2""2.3":"a x #2""3":"a x #2""4.1":"a x #2"{"7":"a ...  x #2"}"and_uc ...  x #2"}{"9.9":"a x #2"}"9.9":"a x #2""notes_ ... lign`"}{"1":"O ... lign`"}"1":"On ...  spec.""Only s ...  spec."Only supports the *-start, and *-end values for `margin`, `border` and `padding`, not the inline/block type values as defined in the spec.Only supports the-start, and-end values for `margin`, `border` and `padding`, not the inline/block type values as defined in the spec"2":"Li ... align`""Like # ... align`"Like #1 but also supports `*-before` and `*-end` for `*-block-start` and `*-block-end` properties as well as `start` and `end` values for `text-align`Like #1 but also supports -before` and -end` for -block-start` and -block-end` properties as well as `start` and `end` values for `text-align`"usage_perc_a":79.96"keywor ... ck-end""margin ... ck-end"margin-start,margin-end,padding-start,padding-end,border-start,border-end,inline-start,inline-end,block-start,block-end"fetch" ... 51232"}{"title ... 51232"}"title":"Fetch"Fetch"descri ... quest.""A mode ... quest."A modern replacement for XMLHttpRequest.A modern replacement for XMLHttpRequesthttps://fetch.spec.whatwg.org/https://fetch"url":" ... /fetch""https: ... /fetch"https://github.com/github/fetchcom/github/fetchhttp://addyosmani.com/demos/fetch-api/com/demos/fetch-api/"41":"a #2 #3""and_ch ... "a #2"}{"41":"a #2"}{"1":"P ... lags`"}Partial support can be enabled in Firefox with the `dom.fetch.enabled` flag."2":"On ... rkers.""Only a ... rkers."Only available in Chrome and Opera within ServiceWorkers.Only available in Chrome and Opera within ServiceWorkers"3":"Av ... flags`""Availa ... flags`"Available in Chrome and Opera within Window and Workers by enabling the "Experimental Web Platform Features" flag in `chrome://flags`"usage_perc_y":0.28"usage_perc_a":39.47"keywor ... equest""fetch, ... equest"fetch,service,workers,xhr,xmlhttprequest"ie_id":"fetchapi""chrome ... 351232"6730533392351232"backgr ... chment"background-attachment"title" ... chment""CSS ba ... chment"CSS background-attachment"descri ... ocal`.""Method ... ocal`."Method of defining how a background image is attached to a scrollable element. Values include `scroll` (default), `fixed` and `local`.Method of defining how a background image is attached to a scrollable element Values include `scroll` (default), `fixed` and `local`"spec": ... chment""http:/ ... chment"http://www.w3.org/TR/css3-background/#the-background-attachmentorg/TR/css3-background/#the-background-attachment"url":" ... chment""https: ... chment"https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachmentorg/en-US/docs/Web/CSS/background-attachment"2":"a #1""6.0-6.1":"a #2""7.0-7.1":"a #2""bb":{" ... "a #2"}{"7":"a ... "a #2"}"notes" ... ounds.""Most m ... ounds."Most mobile devices have a delay in updating the background position after scrolling a page with `fixed` backgrounds.Most mobile devices have a delay in updating the background position after scrolling a page with `fixed` backgrounds"notes_ ... ixed`"}{"1":"P ... ixed`"}"1":"Pa ... local`""Partia ... local`"Partial support refers to supporting `fixed` but not `local`"2":"Pa ... fixed`""Partia ... fixed`"Partial support refers to supporting `local` but not `fixed`"usage_perc_y":68.18"usage_perc_a":22.33"curren ... id":""}currentcolor"CSS cu ...  value"CSS currentColor value"descri ...  etc. ""A CSS  ...  etc. "A CSS value that will apply the existing `color` value to other properties like `background-color`, etc. A CSS value that will apply the existing `color` value to other properties like `background-color`, etc"spec": ... tcolor""http:/ ... tcolor"http://www.w3.org/TR/css3-color/#currentcolororg/TR/css3-color/#currentcolor"url":" ... eyword""https: ... eyword"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentColor_keywordorg/en-US/docs/Web/CSS/color_value#currentColor_keywordhttp://css-tricks.com/currentcolor/com/currentcolor/"usage_perc_y":94.72input-pattern"title" ... fields""Patter ... fields"Pattern attribute for input fields"descri ... ttern.""Allows ... ttern."Allows validation of an input field based on a given regular expression pattern.Allows validation of an input field based on a given regular expression patternhttps://html.spec.whatwg.org/multipage/forms.html#the-pattern-attributehtml#the-pattern-attribute"links" ... rns "}][{"url" ... rns "}]{"url": ... erns "}"url":" ... rn.com""http:/ ... rn.com"http://html5pattern.comhttp://html5pattern"title" ... terns ""Site w ... terns "Site with common sample patterns "notes_ ... terns"}{"1":"P ... terns"}"1":"Pa ... tterns""Partia ... tterns"Partial support refers to not displaying a message for invalid patterns"usage_perc_y":73.35"usage_perc_a":0.73"parent ... dation""regist ... id":""}"regist ... andler"registerprotocolhandler"title" ... ndling""Custom ... ndling"Custom protocol handling"descri ... lient.""Method ... lient."Method of allowing a webpage to handle a given protocol using `navigator.registerProtocolHandler`. This allows certain URLs to be opened by a given web application, for example `mailto:` addresses can be opened by a webmail client.Method of allowing a webpage to handle a given protocol using `navigatorregisterProtocolHandler` This allows certain URLs to be opened by a given web application, for example `mailto:` addresses can be opened by a webmail client"spec": ... ndlers""https: ... ndlers"https://html.spec.whatwg.org/multipage/webappapis.html#custom-handlershtml#custom-handlers"url":" ... andler""https: ... andler"https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandlerorg/en-US/docs/Web/API/Navigator/registerProtocolHandler{"4":"n ... "y #1"}{"9":"n ... "y #1"}{"7":"n ... "y #1"}"notes_ ... web+`"}{"1":"S ... web+`"}"1":"Su ... `web+`""Suppor ... `web+`"Supports protocols `mailto`, `mms`, `nntp`, `rtsp`, and `webcal` but requires custom protocols to start with `web+`Supports protocols `mailto`, `mms`, `nntp`, `rtsp`, and `webcal` but requires custom protocols to start with `web+"usage_perc_y":47.48"css-sn ... id":""}css-snappoints"title" ... points""CSS Sc ... points"CSS Scroll snap points"descri ... oints.""CSS te ... oints."CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap points.CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap points"spec": ... nts-1/""http:/ ... nts-1/"http://www.w3.org/TR/css-snappoints-1/org/TR/css-snappoints-1/"url":" ... s-with""http:/ ... s-with"http://generatedcontent.org/post/66817675443/setting-native-like-scrolling-offsets-in-css-withhttp://generatedcontentorg/post/66817675443/setting-native-like-scrolling-offsets-in-css-with"39":"n d #3""40":"n d #3""notes" ... uilds.""Curren ... uilds."Currently in development in WebKit with partial support in nightly builds.Currently in development in WebKit with partial support in nightly builds"notes_ ... nfig`"}{"1":"P ... nfig`"}"1":"Pa ... reens.""Partia ... reens."Partial support in IE10 refers to support limited to touch screens.Partial support in IE10 refers to support limited to touch screens"2":"Pa ... .html)""Partia ... .html)"Partial support in IE11 [documented here](https://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap-points/support.html)Partial support in IE11 [documented here](https://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap-points/support.html)https://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap-points/support.htmlhttps://dldropboxusercontentcom/u/444684/openwebref/CSS/scroll-snap-points/support"3":"Ca ... onfig`""Can be ... onfig`"Can be enabled in Firefox using the `layout.css.scroll-snap.enabled` flag in `about:config`scroll-snapenabled` flag in `about:config`"keywor ... dinate""scroll ... dinate"scroll-snap-points-x,scroll-snap-points-y,scroll-snap-type,scroll-snap-destination,scroll-snap-coordinate"ie_id" ... points""cssscr ... points"cssscrollingsnappoints"input- ... 81440"}input-minlength{"title ... 81440"}"Minimu ... fields"Minimum length attribute for input fields"descri ... input.""Declar ... input."Declares a lower bound on the number of characters a user can input.Declares a lower bound on the number of characters a user can inputhttps://html.spec.whatwg.org/multipage/forms.html#the-maxlength-and-minlength-attributeshtml#the-maxlength-and-minlength-attributes"links" ... mple"}][{"url" ... mple"}]"url":" ... ribute""http:/ ... ribute"http://www.w3.org/TR/html5/forms.html#setting-minimum-input-length-requirements:-the-minlength-attributeorg/TR/html5/formshtml#setting-minimum-input-length-requirements:-the-minlength-attributeW3C usage example"usage_perc_y":39.74"chrome ... 181440"6023370181181440"css-me ... 32096"}"css-me ... action"css-media-interaction{"title ... 32096"}"Media  ... atures"Media Queries: interaction media features"descri ... tures.""Allows ... tures."Allows a media query to be set based on the presence and accuracy of the user's pointing device, and whether they have the ability to hover over elements on the page. This includes the `pointer`, `any-pointer`, `hover`, and `any-hover` media features.Allows a media query to be set based on the presence and accuracy of the user's pointing device, and whether they have the ability to hover over elements on the page This includes the `pointer`, `any-pointer`, `hover`, and `any-hover` media features"spec": ... action"http://www.w3.org/TR/mediaqueries-4/#mf-interactionorg/TR/mediaqueries-4/#mf-interaction"links" ... ons)"}][{"url" ... ons)"}]http://jordanm.co.uk/2013/11/11/potential-use-cases-for-script-hover-and-pointer.htmlhttp://jordanmuk/2013/11/11/potential-use-cases-for-script-hover-and-pointer"Potent ... atures"Potential use cases for script, hover and pointer CSS Level 4 Media Features"url":" ... tures/""https: ... tures/"https://dev.opera.com/articles/media-features/com/articles/media-features/"Intera ... tions)"Interaction Media Features and their potential (for incorrect assumptions)Interaction Media Features and their potential (for incorrect assumptions)for incorrect assumptions"usage_perc_y":29.01"keywor ... ointer""@media ... ointer"@media,interation,hover,any-hover,pointer,any-pointer"ie_id" ... dhover""mediaq ... dhover"mediaquerieslevel4interactionmediafeaturespointerandhover"chrome ... 532096"6460705494532096"ime":{ ... 36928"}ime{"title ... 36928"}"title" ... or API""Input  ... or API"Input Method Editor API"Provid ... tions."Provides scripted access to the Input Method Editor (IME). An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions.Provides scripted access to the Input Method Editor (IME)IME An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions"spec": ... e-api/"http://www.w3.org/TR/ime-api/org/TR/ime-api/"links" ... IE11"}][{"url" ... IE11"}]{"url": ...  IE11"}"url":" ... 1.aspx""http:/ ... 1.aspx"http://blogs.msdn.com/b/ie/archive/2014/03/31/building-better-input-experience-for-east-asian-users-with-the-ime-api-in-ie11.aspxcom/b/ie/archive/2014/03/31/building-better-input-experience-for-east-asian-users-with-the-ime-api-in-ie11"title" ... n IE11""Buildi ... n IE11"Building Better Input Experience for East Asian Users with the IME API in IE11"11":"y x #1"y x #1"TP":"y x #1""notes_ ... est E"}{"1":"P ... est E"}"1":"Pr ... test E""Prefix ... test E"Prefixed implementation uses `msGetInputContext()` method from an earlier version of the spec to get the `InputMethodContext`, rather than the `inputMethodContext` attribute. Also includes support for `getCompositionAlternatives()` from the latest EPrefixed implementation uses `msGetInputContext` method from an earlier version of the spec to get the `InputMethodContext`, rather than the `inputMethodContext` attribute Also includes support for `getCompositionAlternatives` from the latest E"ime,cj ... sition"ime,cjk,input,internationalization,inputMethodContext,candidatewindow,composition"ie_id":"imeapi"imeapi"chrome ... 636928"6366722080636928font-smooth"title" ... smooth"CSS font-smooth"descri ... dered.""Contro ... dered."Controls the application of anti-aliasing when fonts are rendered.Controls the application of anti-aliasing when fonts are rendered"spec": ... smooth""http:/ ... smooth"http://www.w3.org/TR/WD-font/#font-smoothorg/TR/WD-font/#font-smooth"links" ... ooth"}][{"url" ... ooth"}]"url":" ... smooth""https: ... smooth"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smoothorg/en-US/docs/Web/CSS/font-smooth{"url": ... mooth"}"Old ve ... smooth"Old version of W3C recommendation containing font-smooth"25":"a x #2 #3"a x #2 #3"26":"a x #2 #3""27":"a x #2 #3""28":"a x #2 #3""29":"a x #2 #3""30":"a x #2 #3""31":"a x #2 #3""32":"a x #2 #3""33":"a x #2 #3""34":"a x #2 #3""35":"a x #2 #3""36":"a x #2 #3""37":"a x #2 #3""38":"a x #2 #3""39":"a x #2 #3""40":"a x #2 #3""chrome ... #1 #3"}{"4":"n ... #1 #3"}"5":"a x #1 #3"a x #1 #3"6":"a x #1 #3""7":"a x #1 #3""8":"a x #1 #3""9":"a x #1 #3""10":"a x #1 #3""11":"a x #1 #3""12":"a x #1 #3""13":"a x #1 #3""14":"a x #1 #3""15":"a x #1 #3""16":"a x #1 #3""17":"a x #1 #3""18":"a x #1 #3""19":"a x #1 #3""20":"a x #1 #3""21":"a x #1 #3""22":"a x #1 #3""23":"a x #1 #3""24":"a x #1 #3""25":"a x #1 #3""26":"a x #1 #3""27":"a x #1 #3""28":"a x #1 #3""29":"a x #1 #3""30":"a x #1 #3""31":"a x #1 #3""32":"a x #1 #3""33":"a x #1 #3""34":"a x #1 #3""35":"a x #1 #3""36":"a x #1 #3""37":"a x #1 #3""38":"a x #1 #3""39":"a x #1 #3""40":"a x #1 #3""41":"a x #1 #3""42":"a x #1 #3""43":"a x #1 #3""44":"a x #1 #3""safari ... #1 #3"}{"3.1": ... #1 #3"}"4":"a x #1 #3""5.1":"a x #1 #3""6.1":"a x #1 #3""7.1":"a x #1 #3""opera" ... #1 #3"}{"9":"n ... #1 #3"}"notes" ... track.""Though ... track."Though present in early (2002) drafts of CSS3 Fonts, `font-smooth` has been removed from this specification and is currently not on the standard track.Though present in early (2002)2002 drafts of CSS3 Fonts, `font-smooth` has been removed from this specification and is currently not on the standard track"notes_ ... form."}{"1":"W ... form."}"1":"We ... ased`.""Webkit ... ased`."Webkit implements something similar with a different name `-webkit-font-smoothing` and different values: `none`, `antialiased` and `subpixel-antialiased`.Webkit implements something similar with a different name `-webkit-font-smoothing` and different values: `none`, `antialiased` and `subpixel-antialiased`"2":"Fi ... cale`.""Firefo ... cale`."Firefox implements something similar with a different name `-moz-osx-font-smoothing` and different values: `auto`, `inherit`, `unset`, `grayscale`.Firefox implements something similar with a different name `-moz-osx-font-smoothing` and different values: `auto`, `inherit`, `unset`, `grayscale`"3":"Wo ... tform.""Works  ... tform."Works only on Mac OS X platform.Works only on Mac OS X platform"usage_perc_a":50.44"keywor ... othing""font s ... othing"font smooth,font smoothing,-webkit-font-smoothing,-moz-osx-font-smoothing"permis ... 50560"}permissions-api{"title ... 50560"}Permissions API"descri ... ssions""High-l ... ssions"High-level JavaScript API for checking and requesting permissions"https: ... sions/"https://w3c.github.io/permissions/https://w3cio/permissions/"url":" ... he-web""http:/ ... he-web"http://updates.html5rocks.com/2015/04/permissions-api-for-the-webcom/2015/04/permissions-api-for-the-web"Permis ... amples"Permission API samples and examples"keywor ... ssions""web-pe ... ssions"web-permissions,navigator.permissionsweb-permissions,navigator"chrome ... 650560"637649400365056057:[fun ... }\n},{}]functio ... rue\n}\n}{\nmodul ... rue\n}\n}module. ... :true\n}{\n  "ti ... :true\n}"links" ...   }\n  ][\n    { ...   }\n  ]{\n      ... "\n    }"bugs": ...   }\n  ]bugs"descri ...  body.""iOS Sa ...  body."iOS Safari has buggy behavior with `background-size: cover;` on a page's body.iOS Safari has buggy behavior with `background-size: cover;` on a page's body"descri ... ixed;`""iOS Sa ... ixed;`"iOS Safari has buggy behavior with `background-size: cover;` + `background-attachment: fixed;`iOS Safari has buggy behavior with `background-size: cover;` + `background-attachment: fixed;`"catego ... S3"\n  ][\n    "CSS3"\n  ]"stats" ...   }\n  }{\n    " ...   }\n  }"ie":{\n ... "\n    }"firefo ... "\n    }"chrome ... "\n    }"safari ... "\n    }"opera" ... "\n    }"ios_sa ... "\n    }"op_min ... "\n    }"androi ... "\n    }"bb":{\n ... "\n    }"op_mob ... "\n    }"and_ch ... "\n    }"and_ff ... "\n    }"ie_mob ... "\n    }"and_uc ... "\n    }"notes_ ... nd"\n  }{\n    " ... nd"\n  }"shown":trueshown58:[fun ... }\n},{}]"bugs":[\n    \n  ][\n    \n  ]"notes_ ...    \n  }{\n    \n  }59:[fun ... }\n},{}]"descri ... 202128"Safari does not apply `border-radius` correctly to image borders: http://stackoverflow.com/q/17202128Safari does not apply `border-radius` correctly to image borders: http://stackoverflow"descri ... dius`.""Androi ... dius`."Android Browser 2.3 does not support % value for `border-radius`.Android Browser 23 does not support % value for `border-radius`"descri ... n IE9.""Border ... n IE9."Border-radius does not work on fieldset elements in IE9.Border-radius does not work on fieldset elements in IE9"The st ... dius`."The stock browser on the Samsung Galaxy S4 with Android 4.2 does not support the `border-radius` shorthand property but does support the long-hand properties for each corner like `border-top-left-radius`.The stock browser on the Samsung Galaxy S4 with Android 42 does not support the `border-radius` shorthand property but does support the long-hand properties for each corner like `border-top-left-radius`"descri ... adius.""Older  ... adius."Older versions of Safari [had a bug](https://bugs.webkit.org/show_bug.cgi?id=50072) where background images would bleed out of the border-radius.Older versions of Safari [had a bug](https://bugs.webkit.org/show_bug.cgi?id=50072)https://bugs.webkit.org/show_bug.cgi?id=50072id=50072 where background images would bleed out of the border-radius"notes_ ... 28"\n  }{\n    " ... 28"\n  }60:[fun ... }\n},{}]"descri ... ie10).""IE10 c ... ie10)."IE10 crashes when a div with a property using `calc()` has a child with [same property with inherit](http://stackoverflow.com/questions/19423384/css-less-calc-method-is-crashing-my-ie10).IE10 crashes when a div with a property using `calc` has a child with [same property with inherit](http://stackoverflow.com/questions/19423384/css-less-calc-method-is-crashing-my-ie10)http://stackoverflow.com/questions/19423384/css-less-calc-method-is-crashing-my-ie10com/questions/19423384/css-less-calc-method-is-crashing-my-ie10"descri ... values""IE 9 - ... values"IE 9 - 11 don't render `box-shadow` when `calc()` is used for any of the valuesIE 9 - 11 don't render `box-shadow` when `calc` is used for any of the values"descri ... 4380/)""IE10 a ... 4380/)"IE10 and IE11 don't support using `calc()` inside a `transform`. [Bug report](https://connect.microsoft.com/IE/feedback/details/814380/)IE10 and IE11 don't support using `calc` inside a `transform`[Bug report](https://connect.microsoft.com/IE/feedback/details/814380/)https://connect.microsoft.com/IE/feedback/details/814380/https://connectcom/IE/feedback/details/814380/61:[fun ... }\n},{}]"descri ... w 2.3.""'anima ... w 2.3."'animation-fill-mode' property is not supported in Android browser below 2.3.'animation-fill-mode' property is not supported in Android browser below 2"iOS 6. ... ments."iOS 6.1 and below do not support animation on pseudo-elements.iOS 61 and below do not support animation on pseudo-elements"descri ... 30056)""@keyfr ... 30056)"@keyframes not supported in an inline or scoped stylesheet in Firefox (bug 830056)@keyframes not supported in an inline or scoped stylesheet in Firefox (bug 830056)bug 83005662:[fun ... }\n},{}]63:[fun ... }\n},{}]"descri ... ndoes.""Safari ... ndoes."Safari 6, iOS 6 and Android 2.3 default browser don't work with a 0px value for "blur-radius".
e.g. `-webkit-box-shadow: 5px 1px 0px 1px #f04e29;`
doesn't work, but
`-webkit-box-shadow: 5px 1px 1px 1px #f04e29`
does.Safari 6, iOS 6 and Android 23 default browser don't work with a 0px value for "blur-radius"
e `-webkit-box-shadow: 5px 1px 0px 1px #f04e29;`
doesn't work, but
`-webkit-box-shadow: 5px 1px 1px 1px #f04e29`
does64:[fun ... }\n},{}]"descri ... mages.""`image ... mages."`image-rendering:-webkit-optimize-contrast;` and `-ms-interpolation-mode:nearest-neighbor` do not affect CSS images.`image-rendering:-webkit-optimize-contrast;` and `-ms-interpolation-mode:nearest-neighbor` do not affect CSS images[\n    " ... S3"\n  ]"notes_ ... `."\n  }{\n    " ... `."\n  }65:[fun ... }\n},{}]"catego ... SS"\n  ][\n    "CSS"\n  ]"notes_ ... y."\n  }{\n    " ... y."\n  }66:[fun ... }\n},{}]"notes_ ... n."\n  }{\n    " ... n."\n  }67:[fun ... }\n},{}]68:[fun ... }\n},{}]69:[fun ... }\n},{}]"notes_ ... n`"\n  }{\n    " ... n`"\n  }70:[fun ... }\n},{}]71:[fun ... }\n},{}]"descri ... d5t/).""Projec ... d5t/)."Project Spartan technical preview has a bug where `min-resolution` less than `1dpcm` [is ignored](http://jsfiddle.net/behmjd5t/).Project Spartan technical preview has a bug where `min-resolution` less than `1dpcm` [is ignored](http://jsfiddle.net/behmjd5t/)http://jsfiddle.net/behmjd5t/http://jsfiddlenet/behmjd5t/"notes_ ... o`"\n  }{\n    " ... o`"\n  }72:[fun ... }\n},{}]73:[fun ... }\n},{}]74:[fun ... }\n},{}]"notes_ ... gs"\n  }{\n    " ... gs"\n  }75:[fun ... }\n},{}]"descri ... 5644))""Firefo ... 5644))"Firefox and Safari do not appear to support [sticky table headers](http://jsfiddle.net/Mf4YT/2/). (see also [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644))Firefox and Safari do not appear to support [sticky table headers](http://jsfiddle.net/Mf4YT/2/)http://jsfiddle.net/Mf4YT/2/net/Mf4YT/2/(see also [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644))see also [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644)see also [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644)https://bugzilla.mozilla.org/show_bug.cgi?id=975644id=97564476:[fun ... }\n},{}]77:[fun ... }\n},{}]"descri ... IE10+.""Not su ... IE10+."Not supported on any pseudo-elements besides ::before and ::after for Firefox, Chrome 26+, Opera 16+ and IE10+.Not supported on any pseudo-elements besides ::before and ::after for Firefox, Chrome 2, Opera 1"descri ... sform)""Transi ... sform)"Transitionable properties with calc() derived values are not supported below and including IE11 (http://connect.microsoft.com/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transform)Transitionable properties with calc derived values are not supported below and including IE11 (http://connect.microsoft.com/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transform)http://connect.microsoft.com/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transformhttp://connectcom/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transform"descri ... g IE10""'backg ... g IE10"'background-size' is not supported below and including IE1078:[fun ... }\n},{}]"Androi ... ement."Android browsers do not calculate correctly the dimensions (width and height) of the HTML select element.Android browsers do not calculate correctly the dimensions (width and height)width and height of the HTML select element"descri ... table;""Safari ... table;"Safari 6.0.x does not use box-sizing on elements with display: table;x does not use box-sizing on elements with display: table;"descri ... scroll""IE9 wi ... scroll"IE9 will subtract the width of the scrollbar to the width of the element when set to position: absolute, overflow: auto / overflow-y: scroll"descri ...  used.""IE 8 i ...  used."IE 8 ignores `box-sizing: border-box` if min/max-width/height is used.IE 8 ignores `box-sizing: border-box` if min/max-width/height is used"descri ...  100%.""Chrome ...  100%."Chrome has problems selecting options from the `select` element when using `box-sizing: border-box` and browser zoom level is less than 100%.Chrome has problems selecting options from the `select` element when using `box-sizing: border-box` and browser zoom level is less than 100%79:[fun ... }\n},{}]80:[fun ... }\n},{}]"Firefo ... values"Firefox [does not yet](https://bugzilla.mozilla.org/show_bug.cgi?id=943918) support `<length>` values[does not yet](https://bugzilla.mozilla.org/show_bug.cgi?id=943918)https://bugzilla.mozilla.org/show_bug.cgi?id=943918id=943918 support `<length>` values"notes_ ... s."\n  }{\n    " ... s."\n  }81:[fun ... }\n},{}]"descri ...  2013.""IE10 a ...  2013."IE10 and IE11 default values for `flex` are `0 0 auto` rather than `0 1 auto`, as per the draft spec, as of September 2013.IE10 and IE11 default values for `flex` are `0 0 auto` rather than `0 1 auto`, as per the draft spec, as of September 2013"descri ... view).""In IE1 ... view)."In IE10 and IE11, containers with `display: flex` and `flex-direction: column` will not properly calculate their flexed childrens' sizes if the container has `min-height` but no explicit `height` property. [See bug](https://connect.microsoft.com/IE/feedback/details/802625/min-height-and-flexbox-flex-direction-column-dont-work-together-in-ie-10-11-preview).In IE10 and IE11, containers with `display: flex` and `flex-direction: column` will not properly calculate their flexed childrens' sizes if the container has `min-height` but no explicit `height` property(https://connect.microsoft.com/IE/feedback/details/802625/min-height-and-flexbox-flex-direction-column-dont-work-together-in-ie-10-11-preview)https://connect.microsoft.com/IE/feedback/details/802625/min-height-and-flexbox-flex-direction-column-dont-work-together-in-ie-10-11-previewcom/IE/feedback/details/802625/min-height-and-flexbox-flex-direction-column-dont-work-together-in-ie-10-11-preview"descri ... 41310)""In Chr ... 41310)"In Chrome and Safari, the height of (non flex) children are not recognized in percentages. However Firefox and IE recognize and scale the children based on percentage heights. [Chrome bug](http://crbug.com/341310)In Chrome and Safari, the height of (non flex)non flex children are not recognized in percentages However Firefox and IE recognize and scale the children based on percentage heights[Chrome bug](http://crbug.com/341310)http://crbug.com/341310com/341310"descri ... 69#c2)""Firefo ... 69#c2)"Firefox does not support [Flexbox in button elements](https://bugzilla.mozilla.org/show_bug.cgi?id=984869#c2)Firefox does not support [Flexbox in button elements](https://bugzilla.mozilla.org/show_bug.cgi?id=984869#c2)https://bugzilla.mozilla.org/show_bug.cgi?id=984869#c2id=984869#c2"descri ... r them""[Flexb ... r them"[Flexbugs](https://github.com/philipwalton/flexbugs): community-curated list of flexbox issues and cross-browser workarounds for them[Flexbugs](https://github.com/philipwalton/flexbugs)https://github.com/philipwalton/flexbugscom/philipwalton/flexbugs: community-curated list of flexbox issues and cross-browser workarounds for them"descri ... x8/1/)""IE11 d ... x8/1/)"IE11 does not [wrap long paragraphs of text](http://jsfiddle.net/y1do9cx8/1/)IE11 does not [wrap long paragraphs of text](http://jsfiddle.net/y1do9cx8/1/)http://jsfiddle.net/y1do9cx8/1/net/y1do9cx8/1/"descri ... ents).""IE11 w ... ents)."IE11 will not apply flexbox on pseudo-elements. [See bug](https://connect.microsoft.com/IE/feedbackdetail/view/1058330/ie11-will-not-apply-flexbox-on-pseudo-elements).IE11 will not apply flexbox on pseudo-elements(https://connect.microsoft.com/IE/feedbackdetail/view/1058330/ie11-will-not-apply-flexbox-on-pseudo-elements)https://connect.microsoft.com/IE/feedbackdetail/view/1058330/ie11-will-not-apply-flexbox-on-pseudo-elementscom/IE/feedbackdetail/view/1058330/ie11-will-not-apply-flexbox-on-pseudo-elements"notes_ ... es"\n  }{\n    " ... es"\n  }82:[fun ... }\n},{}]83:[fun ... }\n},{}]"descri ...  work)""IE 11  ...  work)"IE 11 doesn't allow going to fullscreen mode when the event that triggers `msRequestFullscreen()` is a `keydown` or `pointerdown` event (`keypress` and `click` do work)IE 11 doesn't allow going to fullscreen mode when the event that triggers `msRequestFullscreen` is a `keydown` or `pointerdown` event (`keypress` and `click` do work)`keypress` and `click` do work"descri ... sure).""Safari ... sure)."Safari blocks access to keyboard events in fullscreen mode (as a security measure).Safari blocks access to keyboard events in fullscreen mode (as a security measure)as a security measure"IE 11  ... creen."IE 11 does not allow scrolling when document.documentElement is set to full screen.IE 11 does not allow scrolling when documentdocumentElement is set to full screen"descri ... frame.""IE 11  ... frame."IE 11 does not properly support fullscreen when opening from an iframe.IE 11 does not properly support fullscreen when opening from an iframe"Opera  ... ement."Opera 12.1 uses the older specificaton's `:fullscreen-ancestor` pseudo-class instead of the  the `::backdrop` pseudo-element.1 uses the older specificaton's `:fullscreen-ancestor` pseudo-class instead of the  the `::backdrop` pseudo-element"catego ... PI"\n  ][\n    "JS API"\n  ]84:[fun ... }\n},{}]85:[fun ... }\n},{}]"descri ... 6436).""In Fir ... 6436)."In Firefox, the property `column-span` (or `-moz-column-span`) does not yet work. See [the bug](https://bugzilla.mozilla.org/show_bug.cgi?id=616436).In Firefox, the property `column-span` (or `-moz-column-span`)or `-moz-column-span` does not yet work[the bug](https://bugzilla.mozilla.org/show_bug.cgi?id=616436)https://bugzilla.mozilla.org/show_bug.cgi?id=616436id=616436"descri ... 9358).""In Chr ... 9358)."In Chrome, the `-webkit-column-count` directive does not yet work with print stylesheets. See the [following bug in Chromium](https://code.google.com/p/chromium/issues/detail?id=99358).In Chrome, the `-webkit-column-count` directive does not yet work with print stylesheets See the [following bug in Chromium](https://code.google.com/p/chromium/issues/detail?id=99358)https://code.google.com/p/chromium/issues/detail?id=99358id=99358"descri ... olumn.""Chrome ... olumn."Chrome is reported to incorrectly calculate the container height, and often breaks on margins, padding, and can display 1px of the next column at the bottom of the previous column.Chrome is reported to incorrectly calculate the container height, and often breaks on margins, padding, and can display 1px of the next column at the bottom of the previous column"descri ... items.""Browse ... items."Browsers behave differently when flowing `ol` list numbers in columns: IE and Safari only show numbers for the first column. Chrome does not show any numbers. Only Firefox behaves as expected with numbers showing for all items.Browsers behave differently when flowing `ol` list numbers in columns: IE and Safari only show numbers for the first column Chrome does not show any numbers Only Firefox behaves as expected with numbers showing for all items86:[fun ... }\n},{}]87:[fun ... }\n},{}][\n    " ... PI"\n  ]88:[fun ... }\n},{}]89:[fun ... }\n},{}]"descri ... ectly.""Chrome ... ectly."Chrome on Android occasionally has issues rendering emphasis glyphs correctly.Chrome on Android occasionally has issues rendering emphasis glyphs correctly"notes_ ... c."\n  }{\n    " ... c."\n  }90:[fun ... }\n},{}]"descri ... refox.""Does n ... refox."Does not work on `select` elements work in Chrome and IE, only Firefox.Does not work on `select` elements work in Chrome and IE, only Firefox"descri ... auto`.""Some S ... auto`."Some Samsung-based browsers, have a bug with overflowing text when ellipsis is set and if `text-rendering` is not `auto`.Some Samsung-based browsers, have a bug with overflowing text when ellipsis is set and if `text-rendering` is not `auto`"descri ... xt\">`""Does n ... xt\">`"Does not work in IE8 and IE9 on `<input type="text">`91:[fun ... }\n},{}]"There  ...  page."There is a bug in Webkit-based desktop browsers. If -webkit-text-size-adjust is explicitely set to none, Webkit-based desktop browsers, like Chrome or Safari, instead of ignoring the property, will prevent the user to zoom in or out the Web page.There is a bug in Webkit-based desktop browsers If -webkit-text-size-adjust is explicitely set to none, Webkit-based desktop browsers, like Chrome or Safari, instead of ignoring the property, will prevent the user to zoom in or out the Web page"descri ... nored.""If the ... nored."If the viewport in IE Phone is set using <meta> element, the value of the CSS text-size-adjust property is ignored.If the viewport in IE Phone is set using <meta> element, the value of the CSS text-size-adjust property is ignored92:[fun ... }\n},{}]"Scalin ... mages."Scaling transforms in Android 2.3 fails to scale element background images.Scaling transforms in Android 23 fails to scale element background images"descri ... work).""IE 10  ... work)."IE 10 and below does not support CSS transforms on SVG elements (though SVG transform attributes do work).IE 10 and below does not support CSS transforms on SVG elements (though SVG transform attributes do work)though SVG transform attributes do work"Transf ... ements"Transforms may break position:fixed styles of contained elements93:[fun ... }\n},{}]"descri ... none`.""Some c ... none`."Some configurations of Linux and older Windows machines (those without WebGL support) have trouble with 3D transforms and will treat them as if `perspective` was set as `none`.Some configurations of Linux and older Windows machines (those without WebGL support)those without WebGL support have trouble with 3D transforms and will treat them as if `perspective` was set as `none`"descri ... 8279).""Firefo ... 8279)."Firefox on Windows [incorrectly renders plugin content within no-op 3D transforms](https://bugzilla.mozilla.org/show_bug.cgi?id=1048279).Firefox on Windows [incorrectly renders plugin content within no-op 3D transforms]o-o(https://bugzilla.mozilla.org/show_bug.cgi?id=1048279)https://bugzilla.mozilla.org/show_bug.cgi?id=1048279id=1048279"The `p ... ement."The `perspective` property doesn't work on the `body` element in Firefox, it must be used on an inner element.The `perspective` property doesn't work on the `body` element in Firefox, it must be used on an inner element94:[fun ... }\n},{}]95:[fun ... \n\n},{}]functio ... ion\n\n\n}{\n//??? ... ion\n\n\n}functio ...  % b)\n}{\n  if  ...  % b)\n}if (b = ... eturn ab === 0return areturn GCD(b, a % b)GCD(b, a % b)a % bfunctio ... urn e\n}{\n  var ... urn e\n}var e = 1e = 1while ( ...  10\n  }Math.ro ... e !== nMath.ro ...  e) / eMath.round(n * e)n * e{\n    e *= 10\n  }e *= 10return efunctio ... nator\n}{\n  if  ... nator\n}if (num ... eturn 0num === 0if (typ ... um)\n  }typeof num{\n    n ... um)\n  }num = p ... at(num)parseFloat(num)var pre ... on(num)precisi ... on(num)findPrecision(num)var num ... ecisionnumber  ... ecisionnum * precisionvar gcd ... cision)gcd = G ... cision)GCD(num ... cision)var num ... r / gcdnumerat ... r / gcdnumber / gcdvar den ... n / gcddenomin ... n / gcdprecision / gcdreturn  ... minatornumerat ... minatornumerator + '/'module. ... raction96:[fun ... r":98}][functi ... r":98}]functio ... Rule;\n}{\n"use  ... Rule;\n}var _in ... obj; };_intero ...  obj; }functio ...  obj; }{ retur ...  obj; }return  ...  : obj;obj &&  ... ] : objobj &&  ... sModuleobj.__esModuleobj["default"]var _in ... ass; };_inheri ... lass; }functio ... lass; }{ if (t ... lass; }if (typ ... ass); }typeof superClasssuperClass !== null{ throw ... ass); }throw n ... Class);new Typ ... rClass)"Super  ... erClass"Super  ... , not "Super expression must either be null or a function, not subClas ... e } });subClas ... ue } })subClass.prototypeObject. ... ue } })superCl ... ototypesuperClass.prototype{ const ... rue } }constru ...  true }{ value ...  true }value: subClasswritable: trueif (sup ... rClass;subClas ... rClass;subClas ... erClasssubClass.__proto__var _cl ... ); } };_classC ... "); } }functio ... "); } }{ if (! ... "); } }if (!(i ... on"); }!(insta ... ructor)(instan ... ructor)instanc ... tructor{ throw ... on"); }throw n ... tion");new Typ ... ction")"Cannot ... nction"Cannot call a class as a functionvar Con ... ner"));Contain ... iner"))_intero ... iner"))require ... ainer")./container/containervar AtR ... ainer);AtRule  ... tainer)(functi ... tainer)(functi ... ule;\n}){\n    f ... Rule;\n}_classC ... tRule);_classC ... AtRule)this.ty ... trule";this.type = "atrule"Contain ... aults);Contain ... faults)Container.call_inheri ... ainer);_inheri ... tainer)AtRule. ... }\n    }AtRule. ... ringifyvar nam ... s.name;"@" + this.namevar par ... ) : "";params  ... ") : ""this.pa ... ") : ""this.paramsthis.st ... arams")this.stringifyRawtypeof  ... terNamethis.afterNamename += ... erName;name += ... terNamename += " ";name += " "this.nodesthis.st ... arams);this.st ... params)this.stringifyBlockname + paramsvar bef ... fore");before  ... efore")this.style("before")this.styleif (bef ... efore);builder(before);builder(before)var end ...  : "");end = ( ... " : "")(this.b ... " : "")(this.between || "")this.between || ""this.between(semico ... " : "")semicolon ? ";" : ""builder ...  this);builder ... , this)name + params + endAtRule. ... .appendif (!th ... s = [];!this.nodesthis.nodes = [];this.nodes = []return  ... child);Contain ...  child)Contain ... nd.callContain ... .appendContainer.prototypeAtRule. ... prependContain ... prependAtRule. ... tBeforereturn  ... , add);Contain ... t, add)Contain ... re.callContain ... tBeforeAtRule. ... rtAfterContain ... er.callContain ... rtAfter{"./container":98}"./container":9897:[fun ... ":104}][functi ... ":104}]functio ... ment;\n}{\n"use  ... ment;\n}var Nod ... ode"));Node =  ... node"))_intero ... node"))require("./node")./node/nodevar Com ... (Node);Comment ... )(Node)(functi ... )(Node)(functi ... ent;\n}){\n    f ... ment;\n}_classC ... mment);_classC ... omment)this.ty ... mment";this.ty ... omment"Node.ca ... aults);Node.ca ... faults)Node.call_inheri ...  Node);_inheri ... , Node)Comment ... \n    };Comment ... ;\n    }Comment ... ringifyComment.prototypevar lef ... Left");left =  ... tLeft")this.st ... tLeft")var rig ... ight");right = ... Right")this.st ... Right")"/*" +  ...  + "*/""/*" +  ... + right"/*" +  ... is.text"/*" + leftthis.text*/return Comment;module. ... omment;module. ... Comment{"./node":104}"./node":10498:[fun ... ":111}][functi ... ":111}]functio ... iner;\n}{\n"use  ... iner;\n}var _pr ... ps); };_protot ... ops); }functio ... ops); }{ if (s ... ops); }if (sta ... Props);Object. ... Props);Object. ... cProps)if (ins ... Props);Object. ... eProps)var Dec ... ion"));Declara ... tion"))_intero ... tion"))require ... ation")var Com ... ent"));Comment ... ment"))_intero ... ment"))require("./comment")./comment/commentvar Con ... (Node);Contain ... )(Node)(functi ... ner;\n}){\n    f ... iner;\n}_classC ... ainer);_classC ... tainer)if (Nod ...       }Node != nullNode.ap ... ments);Node.ap ... uments)Node.applyContain ... \n    };Contain ... }\n    }Contain ... Contentvar i,\n ... th - 1;this.no ... gth - 1this.nodes.lengthlast > 0if (thi ...  break;this.no ... omment"this.no ... t].typethis.nodes[last]last -= 1;last -= 1var sem ... olon");semicol ... colon")this.st ... colon")i < thi ... .lengththis.no ... colon);this.no ... icolon)this.no ... ringifythis.nodes[i]last != ... micolonlast != iContain ... ;\n    }Contain ... fyBlockvar bet ... Open");between ... eOpen")this.st ... eOpen")builder ... tart");builder ... start")start + ... n + "{"start + betweenvar after;this.no ... .lengththis.st ... ilder);this.st ... uilder)this.st ... Contentafter = ... fter");after = ... after")this.style("after")after = ... Body");after = ... yBody")this.st ... yBody")if (aft ... after);builder(after);builder(after)builder ... "end");builder ...  "end")Contain ... pe.pushchild.parent = this;child.parent = thischild.parentthis.no ... child);this.no ... (child)this.nodes.pushContain ... pe.eachif (!th ... ch = 0;!this.lastEachthis.lastEachthis.lastEach = 0;this.lastEach = 0if (!th ... s = {};!this.indexesthis.indexesthis.indexes = {};this.indexes = {}this.lastEach += 1;this.lastEach += 1var id  ... stEach;id = this.lastEachthis.in ... d] = 0;this.indexes[id] = 0this.indexes[id]var index, result;this.in ... .lengthindex = ... es[id];index = ... xes[id]result  ... index);result  ...  index)callbac ...  index)this.nodes[index]if (res ...  break;result === falsethis.in ... ] += 1;this.in ... d] += 1delete  ... es[id];delete  ... xes[id]if (res ...       }Contain ... hInsidethis.ea ...      })this.eachvar res ... ld, i);result  ... ild, i)callback(child, i)result  ... hInsideresult !== falsechild.eachInsideresult  ... lback);result  ... llback)child.e ... llback)if (res ... result;Contain ... achDeclif (!ca ...       }callback = prop;callback = propthis.eachInsideif (chi ...       }child.type == "decl"child.typeprop in ...  RegExpchild.t ... d.prop)prop.te ... d.prop)prop.testchild.propchild.t ... == propchild.prop == propContain ... achRulechild.type == "rule"Contain ... hAtRulecallback = name;callback = namechild.t ... atrule"name in ...  RegExpchild.t ... d.name)name.te ... d.name)name.testchild.namechild.t ... == namechild.name == nameContain ... Commentchild.t ... omment"var nod ... .last);nodes = ... s.last)this.no ... s.last)this.normalizethis.lastvar _it ... ator]()_iterator = nodes_isArra ... erator)Array.i ... erator)_i = 0_iterat ... ator]()_isArra ... ator]()_iterat ... erator]var _ref;if (_is ...       }if (_i  ...  break;_i >= _ ... .length_iterator.length_ref =  ... [_i++];_ref =  ... r[_i++]_iterator[_i++]_i++_i = _i ... next();_i = _i ... .next()_iterator.next()_iterator.nextif (_i.done) break;_i.done_ref = _i.value;_ref = _i.value_i.valuevar node = _ref;node = _refthis.no ... (node);this.no ... h(node)var nod ... erse();nodes = ... verse()this.no ... verse()this.no ... reversethis.no ... epend")this.firstthis.no ... t(node)this.nodes.unshiftvar idthis.in ... length;nodes.lengthexist = ... exist);exist = ... (exist)this.index(exist)this.indexvar typ ...  false;type =  ... : falseexist = ... : falseexist === 0this.no ... , type)this.nodes[exist]this.no ...  node);this.no ... , node)this.nodes.splicevar index;if (exi ...       }exist <= indexindex + nodes.lengththis.no ... exist])exist + 1exist < indexContain ... .removechild = ... child);child = ... (child)this.index(child)this.no ... efined;this.no ... definedthis.no ... .parentthis.nodes[child]this.no ... ld, 1);this.no ... ild, 1)if (ind ...       }index >= childthis.in ... ex - 1;this.in ... dex - 1index - 1Contain ... moveAll_iterat ... s.nodesnode.pa ... efined;node.pa ... definedContain ... eValuescallback = opts;callback = optsopts = {};opts = {}this.ea ...     });this.eachDeclif (opt ... return;opts.pr ... ) == -1opts.propsopts.pr ... l.prop)opts.props.indexOfopts.fa ... ) == -1opts.fastdecl.va ... ) == -1decl.va ... s.fast)decl.va ... lback);decl.va ... llback)Contain ... e.everyreturn  ... ition);this.no ... dition)this.nodes.everyContain ... pe.somethis.nodes.someContain ... e.indextypeof  ... number"typeof childthis.nodes.indexOfContain ... rmalizevar _this = this;_this = thisif (!Ar ...       }!Array. ... (nodes)Array.isArray(nodes)nodes.type == "root"nodes.typenodes = nodes.nodes;nodes = nodes.nodesnodes.nodesnodes = [nodes];nodes = [nodes][nodes]nodes.propnodes = ... odes)];nodes = ... nodes)][new De ... nodes)]new Dec ... (nodes)nodes.selectorvar Rul ... ule"));Rule =  ... rule"))_intero ... rule"))require("./rule")./rule/rule[new Rule(nodes)]new Rule(nodes)nodes.namevar AtR ... ule"));AtRule  ... rule"))require("./at-rule")[new AtRule(nodes)]new AtRule(nodes)nodes.text[new Comment(nodes)]new Comment(nodes)var pro ...     });nodes.m ...      })nodes.mapif (chi ... lone();child = ... lone();child = ... clone()child.clone()child.clonetypeof child.beforechild.beforeif (sam ...       }sample  ... efined"typeof sample.beforesample.beforechild.b ... g, "");child.b ... /g, "")sample. ... /g, "")sample. ... replace[^\s]child.p ...  _this;child.parent = _thisreturn processed;_protot ...     });_protot ... \n    })first:  ...       }{\n\n     ...       }get: fu ...       }if (!th ... efined;return undefined;return  ... des[0];this.nodes[0]last: { ...       }return  ... h - 1];this.no ... th - 1]return Container;module. ... tainer;module. ... ntainer{"./at- ... e":111}"./at-rule":96"./comment":97"./declaration":100"./rule":11199:[fun ... h":53}](functi ... or";\n})functio ... ror";\n}{\n"use  ... ror";\n}var Pre ... map"));Previou ... -map"))_intero ... -map"))require ... s-map")./previous-map/previous-mapvar pat ... ath"));path =  ... path"))_intero ... path"))require("path")var Css ... Error);CssSynt ... xError)(functi ... xError)(functi ... ror;\n})functio ... rror;\n}{\n    f ... rror;\n}_classC ... Error);_classC ... xError)this.re ... essage;this.re ... messagethis.reasonthis.me ... nput>";this.me ... input>"this.messagefile ?  ... input>"<css input>typeof linetypeof columnthis.line = line;this.line = linethis.linethis.co ... column;this.column = columnthis.columnthis.me ... essage;this.me ... message":" + l ... message":" + l ...  + ": "":" + l ...  column":" + line + ":"":" + line": " + messageif (fil ... = file;this.file = file;this.file = filethis.fileif (sou ... source;this.so ... source;this.source = sourcethis.sourceif (Err ...       }Error.c ... Error);Error.c ... xError)_inheri ... Error);_inheri ... xError)CssSynt ... \n    };CssSynt ... ;\n    }CssSynt ... ghlightCssSynt ... ototypevar num ... ne - 1;num = this.line - 1this.line - 1var lin ... ("\n");this.so ... t("\n")this.source.splitvar pre ... " : "";prev =  ... n" : ""num > 0 ... n" : ""num > 0lines[n ...  + "\n"lines[num - 1]num - 1var bro ... s[num];broken = lines[num]lines[num]var nex ... ] : "";next =  ... 1] : ""num < l ... 1] : ""num < l ... gth - 1"\n" +  ... um + 1]lines[num + 1]num + 1var mark = "\n";mark = "\n"i < this.column - 1this.column - 1mark += " ";mark += " "typeof colortypeof processprocess ... ess.envprocess.stdoutcolor = ... COLORS;color = ... _COLORSprocess ... _COLORSprocess.stdout.isTTY!proces ... _COLORSif (col ...       }mark += ... 1b[0m";mark += ... 01b[0m""\u001b ... 01b[0m"[1;31m^[0mmark += "^";mark += "^"return  ... + next;prev +  ...  + nextprev + broken + markprev + brokenCssSynt ... laPropsvar sam ... ssage);sample  ... essage)Error.c ... essage)Error.callif (sam ... column;sample.columnNumberthis.co ... .columnthis.columnNumberif (sam ... essage;sample.descriptionthis.de ... essage;this.de ... messagethis.descriptionif (sam ... s.line;sample.lineNumberthis.li ... s.line;this.li ... is.linethis.lineNumberif (sam ... s.file;sample.fileNamethis.fi ... s.file;this.fi ... is.filethis.fileNameCssSynt ... oStringvar tex ... essage;text = this.messageif (thi ... ight();text += ... ight();text += ... light()"\n" +  ... light()this.highlight()this.highlightreturn  ... + text;this.na ...  + textthis.name + ": "return  ... xError;module. ... xError;module. ... axErrorCssSynt ... Error";CssSynt ... xError"CssSynt ... pe.name{"./pre ... th":53}"./previous-map":108100:[fu ... ":113}]functio ... tion;\n}{\n"use  ... tion;\n}var ven ... dor"));vendor  ... ndor"))_intero ... ndor"))require("./vendor")./vendor/vendorvar Dec ... (Node);Declara ... )(Node)(functi ... ion;\n}){\n    f ... tion;\n}_classC ... ation);_classC ... ration)this.type = "decl";this.type = "decl"Declara ... ringifyvar bet ... olon");between ... colon")var str ... alue");string  ... value")this.pr ... value")this.prop + betweenthis.propthis.st ... value")this.importantstring  ... rtant";string  ... ortant"this._i ... ortant"this._important !importantif (sem ... += ";";string += ";";string += ";"{"./nod ... r":113}"./vendor":113101:[fu ... h":53}]functio ... nput;\n}{\n"use  ... nput;\n}var Css ... ror"));CssSynt ... rror"))_intero ... rror"))require ... error")./css-syntax-error/css-syntax-errorvar Par ... ser"));Parser  ... rser"))_intero ... rser"))require("./parser")./parser/parservar sequence = 0;sequence = 0var Inp ... ;\n})();Input = ... t;\n})()(functi ... t;\n})()(functi ... put;\n}){\n    f ... nput;\n}var opt ... nts[1];opts =  ... ents[1]argumen ... ents[1]argumen ... definedarguments[1]_classC ... Input);_classC ...  Input)this.cs ... ring();this.cs ... tring()this.csscss.toString()css.toStringthis.cs ...  == "?"this.css[0] == "?"this.css[0]this.cs ... ice(1);this.cs ... lice(1)this.css.slice(1)this.css.slicethis.sa ... s.safe;this.sa ... ts.safethis.safe!!opts.safe!opts.safeopts.safeif (opt ... .from);opts.fromthis.fi ... .from);this.fi ... s.from)path.re ... s.from)var map ... is.id);map = n ... his.id)new Pre ... his.id)this.idif (map ...       }map.textthis.map = map;this.map = mapthis.mapvar fil ... ).file;file =  ... ().filemap.consumer().filemap.consumer()map.consumerif (!th ... (file);!this.file && file!this.filethis.fi ... (file);this.fi ... e(file)this.ma ... e(file)this.mapResolvethis.fr ... s.file;this.fr ... is.filethis.fromsequence += 1;sequence += 1this.id ...  + ">";this.id ... e + ">""<input ... e + ">""<input ... equence<input css this.from = this.id;this.from = this.idif (thi ... s.from;this.ma ... s.from;this.ma ... is.fromthis.map.fileInput.p ...     });Input.p ... \n    })Input.p ... e.errorInput.prototypevar _er ...      };_errorW ...       }_error. ... uments)_error.apply_errorW ...      };_errorW ... oStringreturn  ... ring();_error.toString()_error.toStringreturn  ... rapper;var err ... ssage);error = ... essage)new Css ... essage)var ori ... olumn);origin  ... column)this.or ... column)this.originerror = ... .file);error = ... n.file)new Css ... n.file)origin.lineorigin.columnorigin.sourceorigin.fileerror.g ...      };error.g ...       }error.generatedline: linecolumn: columnsource: this.cssif (thi ... s.file;error.g ... s.file;error.g ... is.fileerror.generated.fileerror = ... s.file)new Css ... s.file)return error;Input.p ... \n    };Input.p ... ;\n    }Input.p ... .origin!this.mapvar con ... umer();consume ... sumer()this.map.consumer()this.map.consumervar fro ... umn });from =  ... lumn })consume ... lumn })consume ... tionFor{ line: ... olumn }if (!fr ...       }!from.sourcefrom.sourcevar res ...      };result  ...       }file: t ... source)this.ma ... source)line: from.linefrom.linecolumn: from.columnfrom.columnvar sou ... .file);source  ... t.file)consume ... t.file)consume ... tentForresult.fileresult. ... source;result. ...  sourceresult.sourceInput.p ... Resolvereturn  ...  file);path.re ... , file)this.ma ...  || "."this.ma ... rceRootreturn Input;module. ...  Input;module. ... = Input{"./css ... th":53}"./css- ... ror":99"./parser":106102:[fu ... ;\n},{}][functi ... ;\n},{}]functio ... }\n\n};\n}{\n"use  ... }\n\n};\n}module. ...   }\n\n};module. ...    }\n\n}split:  ... ;\n    }var array = [];array = []var current = "";current = ""var split = false;split = falsevar func = 0;func = 0var quote = false;quote = falsevar escape = false;escape = falsei < string.lengthvar let ... ing[i];letter = string[i]string[i]if (quo ...       }escape = false;if (let ...       }letter == "\\"letter == quotequote = false;letter  ...  == "'"letter == "\""letter == "'"quote = letter;quote = letterletter == "("func += 1;func += 1letter == ")"if (fun ... c -= 1;func > 0func -= 1;func -= 1if (fun ...       }func === 0j < sep ... .lengthseparators.lengthif (let ... = true;letter  ... tors[j]separators[j]split = true;split = trueif (spl ...       }if (cur ... rim());current !== ""array.p ... rim());array.p ... trim())array.pushcurrent.trim()current.trimcurrent = "";split = false;current += letter;current += letterif (las ... rim());last || ...  !== ""return array;space:  ... ;\n    }return  ... "\t"]);this.sp ...  "\t"])this.split[" ", "\n", "\t"]comma:  ... ;\n    }return  ...  true);this.sp ... , true)[","]103:[fu ... ":115}][functi ... ":115}]functio ... ator;\n}{\n"use  ... ator;\n}var Res ... ult"));Result  ... sult"))_intero ... sult"))require("./result")./result/resultvar Bas ... Base64;Base64  ... .Base64require ... .Base64require("js-base64")js-base64var moz ... map"));mozilla ... -map"))require ... e-map")source-mapvar Map ... ;\n})();MapGene ... r;\n})()(functi ... r;\n})()(functi ... tor;\n}){\n    f ... ator;\n}_classC ... rator);_classC ... erator)this.root = root;this.root = rootthis.rootthis.opts = opts;this.opts = optsthis.optsthis.ma ...  || {};this.ma ... p || {}this.mapOptsopts.map || {}opts.mapMapGene ... \n    };MapGene ... }\n    }MapGene ... e.isMapMapGene ... ototypetypeof this.opts.mapthis.opts.mapreturn  ... ts.map;!!this.opts.map!this.opts.mapreturn  ... th > 0;this.pr ... gth > 0this.pr ... .lengththis.previous()this.previousMapGene ... ;\n    }MapGene ... revious!this.previousMapsthis.previousMapsthis.pr ... s = [];this.pr ... ps = []this.ro ...     });this.ro ...      })this.root.eachInsidenode.so ... put.mapnode.sourcenode.source.inputvar map ... ut.map;map = n ... put.map_this.p ... ) == -1_this.p ... Of(map)_this.p ... indexOf_this.previousMaps_this.p ... h(map);_this.p ... sh(map)_this.p ... ps.pushreturn  ... usMaps;MapGene ... sInlinetypeof  ... .inlinethis.mapOpts.inlinereturn  ... inline;var ann ... tation;annotat ... otationthis.ma ... otationtypeof  ... == truetypeof annotationannotation !== truethis.previous().somereturn i.inline;i.inlineMapGene ... Contenttypeof  ... Contentthis.ma ... Contentreturn  ... tent();i.withContent()i.withContentMapGene ... otationthis.ma ... = falsevar node;i = thi ... gth - 1this.ro ... gth - 1this.ro ... .lengththis.root.nodesnode =  ... des[i];node =  ... odes[i]this.root.nodes[i]if (nod ... ntinue;node.ty ... omment"node.te ... gURL=/)node.text.matchnode.text/^# sou ... ngURL=/^# sourceMappingURL=# sourceMappingURL=this.root.remove(i);this.root.remove(i)this.root.removevar already = {};already = {}var fro ... t.from;from =  ... ut.fromnode.so ... ut.fromif (fro ...       }from && ... y[from]!already[from]already[from]already ... = true;already[from] = truevar rel ... (from);relativ ... e(from)_this.relative(from)_this.relative_this.m ... t.css);_this.m ... ut.css)_this.m ... Content_this.mapnode.so ... put.cssMapGene ... revMaps_iterat ... vious()var prev = _ref;prev = _refvar fro ... .file);from =  ... v.file)this.re ... v.file)this.relativeprev.filevar roo ... .file);root =  ... v.file)prev.ro ... v.file)prev.rootpath.di ... v.file)var map;map = n ... .text);map = n ... v.text)new moz ... v.text)mozilla ... onsumerprev.textmap.sou ...     });map.sou ...      })map.sourcesContentmap.sou ... ent.mapmap = p ... umer();map = p ... sumer()prev.consumer()prev.consumerthis.ma ... root));this.ma ... (root))this.ma ... urceMapthis.relative(root)this.isInline()this.isInlinetypeof  ... otationreturn  ... tation;return i.annotation;i.annotationvar content;content ... ing());content ... ring())"data:a ... ring())"data:a ... ase64,"data:application/json;base64,Base64. ... ring())Base64.encodethis.map.toString()this.map.toStringcontent ... tation;content ... otationcontent ... ".map";content ...  ".map"this.ou ...  ".map"this.outputFile()this.outputFile.mapthis.cs ...  " */";this.cs ... + " */""\n/*#  ... + " */""\n/*#  ... content"\n/*#  ... ngURL="
/*# sourceMappingURL= */MapGene ... putFilethis.opts.toreturn  ... ts.to);this.re ... pts.to)this.opts.fromreturn  ... .from);this.re ... s.from)return "to.css";to.cssMapGene ... rateMapthis.stringify();this.stringify()this.stringifyif (thi ... tent();this.is ... ntent()this.is ... Contentthis.se ... tent();this.se ... ntent()this.se ... Contentif (thi ... Maps();this.ap ... Maps();this.applyPrevMaps()this.applyPrevMapsif (thi ... tion();this.isAnnotation()this.isAnnotationthis.ad ... tion();this.addAnnotation()this.addAnnotationreturn [this.css];[this.css]return  ... s.map];[this.css, this.map]MapGene ... elativevar fro ...  : ".";from =  ... ) : "."this.op ... ) : "."path.di ... pts.to)from =  ... tion));from =  ... ation))path.di ... ation))path.re ... tation)file =  ...  file);file =  ... , file)if (pat ...       }path.sep == "\\"return  ... , "/");file.re ... g, "/")file.replacereturn file;MapGene ... rcePaththis.re ... t.from)MapGene ... ringifythis.css = "";this.css = ""this.ma ... e() });this.ma ... le() })new moz ... le() })mozilla ... nerator{ file: ... ile() }file: t ... tFile()var line = 1;line = 1var column = 1;column = 1var lines, last;var bui ...      };builder ...       }_this.css += str;_this.css += str_this.cssnode && ... = "end"node && ... e.startnode && node.sourcenode.source.starttype != "end"_this.m ...     });_this.m ...      })_this.map.addMappingsource: ... h(node)_this.s ... h(node)_this.sourcePathorigina ...       }line: n ... rt.linenode.so ... rt.linecolumn: ... umn - 1node.so ... umn - 1node.so ... .columngenerat ...       }column: column - 1column - 1lines = ... /\n/g);lines = ... (/\n/g)str.match(/\n/g)if (lin ...       }line += ... length;line += lines.lengthlast =  ... ("\n");last =  ... f("\n")str.las ... f("\n")str.lastIndexOfcolumn  ... - last;column  ...  - laststr.length - lastcolumn  ... length;column  ... .lengthcolumn + str.lengthnode && ... "start"node && ... rce.endnode.source.endtype != "start"line: n ... nd.linenode.source.end.linecolumn: ... .columnthis.ro ... ilder);this.ro ... uilder)this.root.stringifyMapGene ... eneratethis.cl ... tion();this.cl ... ation()this.clearAnnotationthis.isMap()this.isMapreturn  ... eMap();this.generateMap()this.generateMapreturn  ... ing()];[this.r ... ring()]this.root.toString()this.root.toStringreturn MapGenerator;module. ... erator;module. ... nerator{"./res ... p":115}"./result":109"js-base64":114"source-map":115104:[fu ... r":99}][functi ... r":99}]functio ... Node;\n}{\n"use  ... Node;\n}var def ...  " "\n};default ... : " "\n}{\n    c ... : " "\n}colon: ": "indent: "    "    beforeDecl: "\n"beforeRule: "\n"beforeOpen: " "beforeClose: "\n"beforeComment: "\n"after: "\n"emptyBody: ""commentLeft: " "commentRight: " "var clo ... ed;\n});cloneNo ... ned;\n})(functi ... ned;\n})(functi ... per;\n})functio ... pper;\n}{\n    v ... pper;\n}var _cl ... \n    };_cloneN ... ;\n    }_cloneN ... uments)_cloneNode.apply_cloneN ... \n    };_cloneN ... oString_cloneN ... tring()_cloneNode.toStringfunctio ... oned;\n}{\n    i ... oned;\n}if (typ ... rn obj;var clo ... ctor();if (!ob ... ntinue;!obj.ha ... erty(i)obj.has ... erty(i)obj.hasOwnPropertyvar value = obj[i];i == "p ... object"i == "parent"if (par ... parent;i == "source"cloneNode(i, cloned)i != "b ... icolon"i != "b ... etween"i != "b ... "after"i != "before"i != "after"i != "between"i != "semicolon"cloneNo ... cloned)var Nod ... ;\n})();Node =  ... e;\n})()(functi ... e;\n})()(functi ... ode;\n}){\n    f ... Node;\n}var def ... nts[0];default ... ents[0]argumen ... ents[0]arguments[0]_classC ...  Node);_classC ... , Node)this[na ... [name];this[na ... s[name]this[name]defaults[name]Node.pr ... \n    };Node.pr ... }\n    }Node.prototype.errorvar pos ... .start;pos = t ... e.startthis.source.startreturn  ... olumn);this.so ... column)this.so ... t.errorthis.source.inputpos.linepos.columnreturn  ... ssage);Node.pr ... ;\n    }Node.pr ... oveSelfthis.pa ... (this);this.pa ... e(this)this.parent.removethis.pa ... efined;this.pa ... definedNode.pr ... replacethis.pa ... nodes);this.pa ...  nodes)this.pa ... tBeforeNode.pr ... oStringvar result = "";result = ""return  ... += str;result += strNode.prototype.clonevar ove ... nts[0];overrid ... ents[0]var clo ... (this);cloned  ... e(this)cloneNode(this)Node.pr ... eBeforevar clo ... rides);cloned  ... rrides)this.cl ... rrides)this.pa ... loned);this.pa ... cloned)Node.pr ... neAfterthis.pa ... rtAfterNode.pr ... aceWiththis.pa ...  node);this.pa ... , node)this.removeSelf();this.removeSelf()this.removeSelfNode.pr ... .moveTothis.cl ... oot());this.cl ... root())this.cleanStylesthis.ro ... .root()this.root()container.root()container.rootcontain ... (this);contain ... d(this)container.appendnode.root()node.rootnode.pa ...  this);node.pa ... , this)node.pa ... tBeforeNode.pr ... veAfternode.pa ... rtAfterNode.prototype.nextvar ind ... (this);index = ... x(this)this.pa ... x(this)this.parent.indexreturn  ... x + 1];this.pa ... ex + 1]this.parent.nodesindex + 1Node.prototype.prevreturn  ... x - 1];this.pa ... ex - 1]Node.pr ... .toJSONvar fixed = {};fixed = {}if (!th ... ntinue;!this.h ... y(name)this.ha ... y(name)this.hasOwnPropertyif (nam ... ntinue;name == "parent"var val ... [name];value = this[name]fixed[n ...     });fixed[n ...      })fixed[name]return  ... () : i;typeof  ... N() : itypeof  ... .toJSONtypeof i == "object"typeof ii.toJSONi.toJSON()value.toJSONfixed[n ... JSON();fixed[n ... oJSON()value.toJSON()fixed[name] = value;fixed[name] = valuereturn fixed;Node.prototype.styleif (!de ...  = own;!detectdetect = own;detect = ownif (own ...       }value = this[own];value = this[own]this[own]var par ... parent;parent = this.parentif (det ...       }detect == "before"if (!pa ...       }!parent ... == this!parentparent. ... == thisparent. ...  "root"parent.first == thisparent.firstreturn "";return  ... etect];defaultStyle[detect]var roo ... root();root = this.root()if (!ro ... e = {};!root.styleCacheroot.styleCacheroot.st ... e = {};root.styleCache = {}typeof  ... detect]root.st ... detect]detect  ... icolon"root.ea ...     });root.ea ...      })root.eachInsidei.nodes ...  "decl"i.nodes ... .lengthi.nodesi.nodes.lengthi.last. ...  "decl"i.last.typei.lastvalue = i.semicolon;value = i.semicoloni.semicolonif (typ ...  false;detect  ... tyBody"i.nodes ... h === 0i.nodes.length === 0value = i.after;value = i.afteri.afterdetect == "indent"var p = i.parent;p = i.parenti.parentif (p & ...       }p && p  ... == rootp && p  ... .parentp && p != rootp != rootp.parentp.parent == roottypeof i.beforei.beforevar par ... ("\n");i.before.split("\n")i.before.splitvalue = ... h - 1];value = ... th - 1]value = ... g, "");value = ... /g, "")value.r ... /g, "")detect  ... omment"root.eachCommentvalue = i.before;value = i.beforevalue.i ... ) != -1value.indexOf("\n")value = ... /, "");value = ... $/, "")value.r ... $/, "")[^\n]+$[^\n]+value = ... Decl");value = ... eDecl")this.st ... eDecl")detect  ... reDecl"root.eachDeclvalue = ... Rule");value = ... eRule")this.st ... eRule")detect  ... reRule"i.nodes ... t != i)(i.pare ... t != i)i.paren ... st != ii.parent != rootroot.first != iroot.firstdetect  ... eClose"i.nodes ... gth > 0i.nodes.length > 0typeof i.afterdetect  ... "after"detect == "after"this.type == "decl"value = ... ment");value = ... mment")this.st ... mment")value = ... lose");value = ... Close")this.st ... Close")var nod ... parent;node = this.parentvar depth = 0;depth = 0node && ...  "root"node.type != "root"depth += 1;depth += 1node = node.parent;node = node.parentvar ind ... dent");indent  ... ndent")this.st ... ndent")indent.lengthfor (va ... indent;step < depthstep++var step = 0step = 0value += indent;value += indentdetect == "colon"typeof i.betweeni.betweeni.betwe ... /g, "")i.between.replace[^\s:]detect  ... reOpen"i.type != "decl"value = i.between;value = i.betweenvalue = i[own];value = i[own]i[own]if (typ ... etect];value = ... etect];value = ... detect]root.st ...  value;root.st ... = valueNode.prototype.rootvar result = this;result = thiswhile ( ... parent;result.parentresult  ... parent;result  ... .parentNode.pr ... nStylesdelete this.before;delete this.beforethis.beforedelete this.after;delete this.afterthis.afterif (!ke ... etween;!keepBetweendelete this.between;delete this.betweennode.cl ... tween);node.cl ... etween)node.cleanStylesNode.pr ... gifyRawvar val ... [prop];value = this[prop]this[prop]var raw ...  prop];raw = t ... + prop]this["_" + prop]"_" + propif (raw ...       }raw &&  ... = valueraw.value === valueraw.valuereturn raw.raw;raw.rawreturn Node;module. ... = Node;module. ...  = Node{"./css ... or":99}105:[fu ... ":106}][functi ... ":106}]functio ... t;\n};\n}{\n"use  ... t;\n};\n}var Inp ... put"));Input = ... nput"))_intero ... nput"))require("./input")./input/inputmodule. ... oot;\n};module. ... root;\n}functio ... root;\n}{\n    v ... root;\n}var inp ...  opts);input = ... , opts)new Input(css, opts)var par ... input);parser  ... (input)new Parser(input)parser.tokenize();parser.tokenize()parser.tokenizeparser.loop();parser.loop()parser.loopreturn parser.root;parser.root{"./inp ... r":106}"./input":101106:[fu ... ":112}][functi ... ":112}]functio ... rser;\n}{\n"use  ... rser;\n}var tok ... ize"));tokeniz ... nize"))_intero ... nize"))require ... enize")./tokenize/tokenizevar Roo ... oot"));Root =  ... root"))_intero ... root"))require("./root")./root/rootvar Par ... ;\n})();Parser  ... r;\n})()(functi ... ser;\n}){\n    f ... rser;\n}_classC ... arser);_classC ... Parser)this.input = input;this.input = inputthis.inputthis.pos = 0;this.pos = 0this.posthis.ro ... Root();this.ro ...  Root()new Root()this.cu ... s.root;this.cu ... is.rootthis.currentthis.spaces = "";this.spaces = ""this.spacesthis.se ...  false;this.se ... = falsethis.semicolonthis.ro ... nput };this.ro ... input }this.root.source{ input: input }input: inputif (inp ... ut.map;input.mapthis.ro ... ut.map;this.ro ... put.mapthis.root.prevMapParser. ... \n    };Parser. ... ;\n    }Parser. ... okenizeParser.prototypethis.to ... input);this.to ... .input)this.tokenstokeniz ... .input)Parser. ... pe.loopvar token;this.po ... .lengththis.tokens.lengthtoken = ... s.pos];token = ... is.pos]this.to ... is.pos]switch  ...       }token[0]case "word":case ": ...  break;this.word(token);this.word(token)this.wordcase "} ...  break;this.end(token);this.end(token)this.endcase "c ...  break;this.comment(token);this.comment(token)this.commentcase "a ...  break;at-wordthis.atrule(token);this.atrule(token)this.atrulecase "{ ...  break;this.em ... token);this.em ... (token)this.emptyRuledefault ...  break;this.sp ... ken[1];this.sp ... oken[1]token[1]this.pos += 1;this.pos += 1this.endFile();this.endFile()this.endFileParser. ... }\n    }Parser. ... commentvar nod ... ment();node = new Comment()new Comment()this.in ... en[3]);this.in ... ken[3])this.inittoken[2]token[3]node.so ... n[5] };node.so ... en[5] }{ line: ... en[5] }line: token[4]token[4]column: token[5]token[5]var tex ... 2, -2);text =  ... (2, -2)token[1 ... (2, -2)token[1].slice-2if (tex ...       }text.match(/^\s*$/)text.match^\s*$node.left = text;node.left = textnode.leftnode.text = "";node.text = ""node.right = "";node.right = ""node.rightvar mat ... s*)$/);match = ... \s*)$/)text.ma ... \s*)$/)/^(\s*) ... (\s*)$/^(\s*)([^]*[^\s])(\s*)$(\s*)([^]*[^\s])[^]*[^\s][^]*[^]node.le ... tch[1];node.left = match[1]node.te ... tch[2];node.text = match[2]node.ri ... tch[3];node.ri ... atch[3]match[3]Parser. ... ptyRulevar nod ... Rule();node = new Rule()new Rule()node.between = "";node.between = ""node.betweennode.selector = "";node.selector = ""this.current = node;this.current = nodeParser. ... pe.wordvar end = false;end = falsevar type = null;var colon = false;colon = falsevar bracket = null;bracket = nullvar brackets = 0;brackets = 0var sta ... is.pos;start = this.posif (!to ...       }!tokenthis.pos -= 1;this.pos -= 1end = true;end = truetype = token[0];type = token[0]type == "("if (!br ...  token;!bracketbracket = token;bracket = tokenbrackets += 1;brackets += 1type == ")"brackets -= 1;brackets -= 1if (bra ... = null;brackets === 0bracket = null;if (bra ...       }type == ";"this.de ...  + 1));this.de ... s + 1))this.to ... os + 1)this.tokens.slicethis.pos + 1type == "{"this.ru ...  + 1));this.ru ... s + 1))this.ruletype == "}"type == "at-word"if (typ ... = true;type == ":"colon = true;colon = truebracket ... ut.safebrackets > 0!this.input.safethis.input.safethrow t ... et[3]);this.in ... ket[3])this.input.errorUnclosed bracketbracket[2]bracket[3]if (end ...       }end && colonthis.pos > starttoken = ... os][0];token = ... pos][0]this.to ... pos][0]if (tok ...  break;token ! ... omment"token != "space"token != "comment"var buf ... s + 1);buffer  ... os + 1)this.sp ... in("");this.sp ... oin("")buffer. ... oin("")buffer. ... }).joinbuffer. ...      })buffer.mapreturn i[1];i[1]token = ... start];token = ... [start]this.tokens[start]throw t ... en[3]);Unknown wordParser. ... pe.ruletokens.pop();tokens.pop()tokens.popthis.in ... 0][3]);this.in ... [0][3])tokens[0][2]tokens[0]tokens[0][3]node.be ... okens);node.be ... tokens)this.sp ... tokens)this.spacesFromEndthis.ra ... okens);this.ra ... tokens)this.rawParser. ... pe.declvar nod ... tion();node =  ... ation()new Declaration()this.init(node);this.init(node)var las ... h - 1];tokens[ ... th - 1]tokens.length - 1tokens.lengthlast[0] == ";"last[0]this.se ... = true;this.se ...  = truelast[4]node.so ... t[5] };node.so ... st[5] }{ line: ... st[5] }line: last[4]column: last[5]last[5]node.so ... t[3] };node.so ... st[3] }{ line: ... st[3] }line: last[2]last[2]column: last[3]last[3]tokens[ ...  "word"tokens[0][0]node.be ... t()[1];node.be ... ft()[1]node.beforetokens.shift()[1]tokens.shift()tokens.shiftnode.so ... ][3] };node.so ... 0][3] }{ line: ... 0][3] }line: tokens[0][2]column: tokens[0][3]node.pr ... t()[1];node.pr ... ft()[1]token = ... hift();token = ... shift()if (tok ...       }token[0] == ":"node.be ... ken[1];node.be ... oken[1]token[0 ... omment"token[0] != "space"this.un ... okens);this.un ... tokens)this.unknownWordnode.pr ...  == "*"node.prop[0] == "_"node.prop[0] == "*"node.be ... rop[0];node.be ... prop[0]node.pr ... ice(1);node.pr ... lice(1)node.prop.slice(1)node.prop.slicethis.spacesFromStartif (thi ... okens);this.ch ... okens);this.ch ... tokens)this.ch ... micoloni = tok ... gth - 1token = tokens[i];token = tokens[i]tokens[i]token[1 ... ortant"!importantnode.im ... = true;node.im ...  = truenode.importantvar str ... ns, i);string  ... ens, i)this.st ... ens, i)this.stringFromstring  ... string;string  ...  stringthis.sp ...  stringif (str ... string;node._i ... string;node._i ...  stringnode._importantnode.va ... ut.safenode.va ... ) != -1node.va ... Of(":")node.value.indexOfnode.valueParser. ... .atrulenode = new AtRule()new AtRule()node.na ... ice(1);node.na ... lice(1)token[1].slice(1)node.name === ""node.name = "";node.name = """At-rul ... t name"At-rule without namevar next;var last = false;last = falsevar open = false;open = falsevar params = [];params = []last = true;last = truetoken[0] == ";"node.so ... n[3] };node.so ... en[3] }{ line: ... en[3] }line: token[2]column: token[3]token[0] == "{"open = true;open = trueparams.push(token);params.push(token)params.pushnode.be ... arams);node.be ... params)this.sp ... params)node.af ... arams);node.af ... params)node.afterNamethis.ra ... arams);this.ra ... params)token = ... h - 1];token = ... th - 1]params[ ... th - 1]this.sp ... etween;this.sp ... betweennode.afterName = "";node.afterName = ""node.params = "";node.params = ""node.paramsif (ope ...       }node.nodes = [];node.nodes = []Parser.prototype.endthis.cu ... .lengththis.current.nodesthis.cu ... icolon;this.cu ... micolonthis.cu ... spaces;this.cu ... .spacesthis.current.after(this.c ... .spaces(this.c ...  || "")this.cu ... r || ""this.current.parentthis.cu ... n[3] };this.cu ... en[3] }this.cu ... rce.endthis.current.sourcethis.cu ... parent;this.cu ... .parentUnexpected }this.cu ... += "}";this.cu ...  += "}"Parser. ... endFilethis.cu ... ut.safethis.cu ... e.startthrow t ... olumn);this.in ... column)Unclosed blockthis.cu ... r = "";this.cu ... er = ""Parser. ... ownWordnode.be ... etween;node.be ... betweennode.pr ... betweennode.pr ... ken[1];node.prop = token[1]Parser. ... micolonvar prev = null;prev = nullvar type, token;i < tokens.lengthbrackets -= 0;brackets -= 0bracket ...  == ":"if (!pr ...       }!prev & ... ut.safe!prevDouble colonprev[0] ... progid"prev[0] == "word"prev[0]prev[1] == "progid"prev[1]progidcolon = i;colon = iprev = token;prev = tokencolon === falsevar split;for (sp ...       }split >= 0split--split = colon - 1colon - 1tokens[split][0]tokens[split]split -= 1tokens[ ... "space"split += 1;split += 1var oth ... split);other = ...  split)tokens. ...  split)tokens.splicetokens. ... - splitthis.decl(other);this.decl(other)var founded = 0;founded = 0j >= 0j--var j = colon - 1j = colon - 1token = tokens[j];token = tokens[j]tokens[j]founded += 1;founded += 1if (fou ...  break;founded == 2throw t ... en[5]);this.in ... ken[5])Missed semicolonParser. ... pe.initthis.cu ... (node);this.cu ... h(node)this.current.pushnode.so ... nput };node.so ... input }{ start ... input }start:  ... olumn }input: this.inputnode.be ... spaces;node.be ... .spacesif (nod ...  false;Parser.prototype.rawvar value = "";value = ""var clean = true;clean = true_iterator = tokenstoken = ... [_i++];token = ... r[_i++]token = _i.value;token = _i.valueclean = false;clean = falsevalue += token[1];value += token[1]!cleanvar origin = "";origin = ""_iterator2 = tokens_isArra ... rator2)Array.i ... rator2)_i2 = 0if (_i2 ...  break;_i2 >=  ... .length_iterator2.lengthtoken = ... _i2++];token = ... [_i2++]_iterator2[_i2++]_i2++_i2 = _ ... next();_i2 = _ ... .next()_iterator2.next()_iterator2.nextif (_i2.done) break;_i2.donetoken = _i2.value;token = _i2.value_i2.valueorigin += token[1];origin += token[1]node["_ ... igin };node["_ ... rigin }node["_" + prop]{ value ... rigin }raw: originnode[prop] = value;node[prop] = valuenode[prop]Parser. ... FromEndvar spaces = "";spaces = ""next =  ...  1][0];next =  ... - 1][0]tokens[ ... - 1][0]if (nex ...  break;next != ... omment"next != "space"next != "comment"spaces  ... p()[1];spaces  ... op()[1]tokens.pop()[1]return spaces;Parser. ... omStartnext = tokens[0][0];next = tokens[0][0]spaces  ... t()[1];spaces  ... ft()[1]Parser. ... ingFromvar i = fromi = fromresult  ... [i][1];result  ... s[i][1]tokens[i][1]tokens. ...  from);tokens. ... - from)tokens.length - fromreturn Parser;module. ... Parser;module. ...  Parser{"./at- ... e":112}"./root":110"./tokenize":112107:[fu ... ":111}]functio ... tcss;\n}{\n"use  ... tcss;\n}var par ... rse"));parse = ... arse"))_intero ... arse"))require("./parse")./parse/parsevar Pos ... ;\n})();PostCSS ... S;\n})()(functi ... S;\n})()(functi ... CSS;\n})functio ... tCSS;\n}{\n    f ... tCSS;\n}var plu ... nts[0];plugins ... ents[0]_classC ... stCSS);_classC ... ostCSS)this.pl ...     });this.pl ...      })this.pluginsplugins ...      })plugins.mapreturn  ... ize(i);_this.normalize(i)_this.normalizePostCSS ... \n    };PostCSS ... ;\n    }PostCSS ... ype.usePostCSS.prototypeplugin  ... lugin);plugin  ... plugin)this.no ... plugin)typeof  ... lugins)typeof pluginArray.i ... lugins)plugin.pluginsthis.pl ... ugins);this.pl ... lugins)this.plugins.concatthis.pl ... lugin);this.pl ... plugin)this.plugins.pushPostCSS ... processvar parsed;if (css ...       }css instanceof Rootparsed = css;parsed = csscss ins ...  Resultparsed = css.root;parsed = css.rootcss.rootcss.map ... efined"css.maptypeof opts.mapopts.ma ... .map };opts.ma ... s.map }{ prev: css.map }prev: css.mapparsed  ...  opts);parsed  ... , opts)postcss ... , opts)_iterat ... pluginsvar plugin = _ref;plugin = _refvar ret ...  opts);returne ... , opts)plugin(parsed, opts)if (ret ... turned;returne ... of Rootparsed = returned;parsed = returnedreturn  ... (opts);parsed. ... t(opts)parsed.toResultPostCSS ... }\n    }PostCSS ... rmalizevar typ ... plugin;type = typeof pluginif ((ty ...       }(type = ... postcss(type = ... ction")type == ... nction"type == "object"type == "function"plugin.postcssreturn  ... ostcss;return plugin;return PostCSS;var pos ... ns);\n};postcss ... ins);\n}functio ... ins);\n}{\n    f ... ins);\n}_key < _len_key++var _le ... key = 0_len =  ... .lengthplugins ... y(_len)Array(_len)_key = 0plugins ... [_key];plugins ... s[_key]plugins[_key]arguments[_key]if (plu ... ;\n    }plugins ... ins[0])plugins.length == 1plugins.lengthArray.i ... ins[0])plugins[0]plugins ... ins[0];plugins = plugins[0]return  ... ugins);new PostCSS(plugins)postcss ...  parse;postcss ... = parsepostcss ... ts);\n};postcss ... lts);\n}postcss.commentfunctio ... lts);\n}{\n    r ... lts);\n}return  ... aults);new Com ... faults)postcss.atRulenew AtRule(defaults)postcss.declnew Dec ... faults)postcss.rulenew Rule(defaults)postcss.rootnew Root(defaults)module. ... ostcss;module. ... postcss"./parse":105108:[fu ... ":115}]functio ... sMap;\n}{\n"use  ... sMap;\n}var fs  ... "fs"));fs = _i ... ("fs"))_intero ... ("fs"))require("fs")var Pre ... ;\n})();Previou ... p;\n})()(functi ... p;\n})()(functi ... Map;\n}){\n    f ... sMap;\n}_classC ... usMap);_classC ... ousMap)this.lo ... n(css);this.lo ... on(css)this.loadAnnotationthis.in ... ata:");this.in ... data:")this.inlinethis.st ... data:")this.startWiththis.annotationvar pre ... efined;prev =  ... definedopts.ma ... definedopts.map.prevvar tex ...  prev);text =  ... , prev)this.lo ... , prev)this.loadMapif (tex ... = text;this.text = text;this.text = textPreviou ... \n    };Previou ... ;\n    }Previou ... onsumerPreviou ... ototype!this.consumerCachethis.consumerCachethis.co ... .text);this.co ... s.text)new moz ... s.text)Previou ... Contentreturn  ... h > 0);!!(this ... th > 0)!(this. ... th > 0)(this.c ... th > 0)this.co ... gth > 0this.co ... Contentthis.consumer()this.consumerthis.co ... .lengthPreviou ... artWithif (!st ...       }return  ...  start;string. ... = startstring. ... length)start.lengthPreviou ... otationvar mat ... \*\//);match = ... *\*\//)css.mat ... *\*\//)css.match/\/\*\s ... s*\*\//\/\*\s*# sourceMappingURL=(.*)\s*\*\/\*if (mat ... trim();this.an ... trim();this.an ... .trim()match[1].trim()match[1].trimPreviou ... }\n    }Previou ... eInlinevar uri ... json,";uri = " ... /json,""data:a ... /json,"data:application/json,var bas ... se64,";base64  ... ase64,"this.st ... t, uri)return  ... ngth));decodeU ... ength))text.su ... length)text.substruri.lengththis.st ... base64)Base64. ... ength))Base64.decodebase64.lengthvar enc ... ,/)[1];encodin ... ),/)[1]text.ma ... ),/)[1]text.ma ... ,]+),/)/data:a ... ^,]+),/data:application\/json;([^,]+),data:applicationjson;([^,]+)[^,]+[^,]throw n ... oding);new Err ... coding)"Unsupp ... ncoding"Unsupp ... oding "Unsupported source map encoding Previou ... loadMapprev === falsetypeof prevreturn prev;prev in ... onsumermozilla ... tring()mozilla ... oStringmozilla ... p(prev)mozilla ... urceMapprev in ... neratorprev.toString()prev.toStringtypeof  ... appingsprev.mappingsreturn  ... (prev);JSON.stringify(prev)throw n ... ing());new Err ... ring())"Unsupp ... tring()"Unsupp ... rmat: "Unsupported previous source map format: return  ... ation);this.de ... tation)this.decodeInlinevar map ... tation;map = t ... otationif (fil ... , map);map = p ... , map);map = p ... ), map)path.jo ... ), map)path.dirname(file)this.ro ... e(map);this.ro ... me(map)path.dirname(map)if (fs. ...       }fs.exis ... nc(map)fs.existsSync(map)return  ... trim();fs.read ... .trim()fs.read ... ().trimfs.read ... tring()fs.read ... oStringfs.read ... utf-8")return PreviousMap;module. ... ousMap;module. ... iousMap{"fs":4 ... p":115}109:[fu ... ":103}][functi ... ":103}]functio ... sult;\n}{\n"use  ... sult;\n}var Map ... tor"));MapGene ... ator"))_intero ... ator"))require ... rator")./map-generator/map-generatorvar Res ... ;\n})();Result  ... t;\n})()(functi ... ult;\n}){\n    f ... sult;\n}_classC ... esult);_classC ... Result)Result. ... \n    };Result. ... ;\n    }Result. ... oStringResult.prototypereturn this.css;Result. ... ringifyvar map ... .opts);map = n ... s.opts)new Map ... s.opts)var gen ... rate();generat ... erate()map.generate()map.generatethis.cs ... ted[0];this.cs ... ated[0]this.cssCachedgenerated[0]this.ma ... ted[1];this.ma ... ated[1]this.mapCachedgenerated[1]map: {\n ...       }if (!th ... gify();!this.cssCachedreturn  ... Cached;css: {\n ...       }return Result;module. ...  Result{"./map ... r":103}"./map- ... or":103110:[fu ... ":111}]functio ... Root;\n}{\n"use  ... Root;\n}var Roo ... ainer);Root =  ... tainer)(functi ... oot;\n}){\n    f ... Root;\n}_classC ...  Root);_classC ... , Root)this.type = "root";this.type = "root"Root.pr ... \n    };Root.pr ... ;\n    }Root.pr ... .removeRoot.prototypechild = ... gth > 1child === 0this.no ... gth > 1this.no ... before;this.no ... .beforethis.nodes[1].beforethis.nodes[1]Contain ... ve.callRoot.pr ... rmalizevar nod ... child);nodes = ...  child)Contain ... ze.calltype == "prepend"sample. ... before;sample. ... .beforedelete  ... before;delete sample.beforeif (thi ... before;this.first != samplenode.be ... before;node.be ... .beforereturn nodes;Root.pr ... ringifyif (thi ... after);builder(this.after);builder(this.after)Root.pr ... oResultvar opt ... nts[0];opts =  ... ents[0]return  ...  opts);new Res ... , opts)return Root;module. ... = Root;module. ...  = Root111:[fu ... ":102}]var lis ... ist"));list =  ... list"))_intero ... list"))require("./list")./list/listvar Rul ... ainer);Rule =  ... tainer)_classC ...  Rule);_classC ... , Rule)this.type = "rule";this.type = "rule"Rule.pr ... \n    };Rule.pr ... ;\n    }Rule.pr ... ringifyRule.prototypethis.st ... tor"));this.st ... ctor"))this.st ... ector")selecto ...       }return  ... ector);list.co ... lector)this.selectorset: fu ...       }this.se ... (", ");this.se ... n(", ")values.join(", ")values.joinreturn Rule;module. ... = Rule;module. ...  = Rule{"./con ... t":102}"./list":102112:[fu ... ;\n},{}]functio ... s;\n};\n}{\n"use  ... s;\n};\n}var sin ... "'\n]/;singleQ ... deAt(0)"'".charCodeAt(0)"'".charCodeAtdoubleQ ... deAt(0)"\"".charCodeAt(0)"\"".charCodeAtbacksla ... deAt(0)"\\".charCodeAt(0)"\\".charCodeAtslash = ... deAt(0)"/".charCodeAt(0)"/".charCodeAtnewline ... deAt(0)"\n".charCodeAt(0)"\n".charCodeAtspace = ... deAt(0)" ".charCodeAt(0)" ".charCodeAtfeed =  ... deAt(0)"\f".charCodeAt(0)"\f".charCodeAttab = " ... deAt(0)"\t".charCodeAt(0)"\t".charCodeAtcr = "\ ... deAt(0)"\r".charCodeAt(0)"\r".charCodeAt
openBra ... deAt(0)"(".charCodeAt(0)"(".charCodeAtcloseBr ... deAt(0)")".charCodeAt(0)")".charCodeAtopenCur ... deAt(0)"{".charCodeAt(0)"{".charCodeAtcloseCu ... deAt(0)"}".charCodeAt(0)"}".charCodeAtsemicol ... deAt(0)";".charCodeAt(0)";".charCodeAtasteris ... deAt(0)"*".charCodeAt(0)"*".charCodeAtcolon = ... deAt(0)":".charCodeAt(0)":".charCodeAtat = "@ ... deAt(0)"@".charCodeAt(0)"@".charCodeAtatEnd = ... "\\/]/g/[ \n\t ... "\\/]/g[ \n\t\r\{\(\)'"\\/]\t\r\{wordEnd ... ?=\*)/g/[ \n\t ... ?=\*)/g[ \n\t\r\(\)\{\}:;@!'"\\]|\/(?=\*)[ \n\t\r\(\)\{\}:;@!'"\\]\}\/(?=\*)(?=\*)badBrac ... ("'\n]/.[\\\/\("'\n][\\\/\("'\n]module. ... ens;\n};module. ... kens;\n}functio ... kens;\n}{\n    v ... kens;\n}var tokens = [];tokens = []var css ... ueOf();css = i ... lueOf()input.css.valueOf()input.css.valueOfinput.cssvar cod ... s, bad;length = css.lengthcss.lengthvar offset = -1;offset = -1var pos = 0;var unc ... \n    };unclose ... }\n    }if (inp ...       }input.safecss += end;css += endnext =  ... th - 1;next =  ... gth - 1css.length - 1throw i ... ffset);input.e ... offset)input.error"Unclosed " + whatUnclosed pos - offsetpos < lengthcode =  ... t(pos);code =  ... At(pos)css.charCodeAt(pos)css.charCodeAtcode == newlineoffset = pos;offset = posline += 1;line += 1case newline:case space:case tab:case cr:case fe ...  break;next = pos;next = posdo {\n   ...  feed);code == ... == feedcode == ... e == crcode == ...  == tabcode == ... newlinecode == spacecode == tabcode == crcode == feednext += 1;next += 1code =  ... (next);code =  ... t(next)css.charCodeAt(next)offset = next;offset = nexttokens. ... ext)]);tokens. ... next)])tokens.push["space ...  next)]css.slice(pos, next)css.slicepos = next - 1;pos = next - 1next - 1case op ...  break;tokens. ... fset]);tokens. ... ffset])["{", " ... offset]case cl ...  break;["}", " ... offset]case co ...  break;[":", " ... offset]case se ...  break;[";", " ... offset]next =  ... s + 1);next =  ... os + 1)css.ind ... os + 1)css.indexOfpos + 1content ... t + 1);content ... xt + 1)css.sli ... xt + 1)next + 1if (nex ...       }next == ... ontent)next == -1badBrac ... ontent)badBracket.test["(", " ... offset]["brack ... offset]next - offsetpos = next;pos = next[")", " ... offset]case singleQuote:case do ...  break;quote = ... : "\"";quote = ...  : "\""code == ...  : "\""code == singleQuotedo {\n   ... caped);escaped = false;escaped = falsenext =  ... t + 1);next =  ... xt + 1)css.ind ... xt + 1)if (nex ... quote);unclose ... quote);unclose ...  quote)escapePos = next;escapePos = nextcss.cha ... ckslashcss.cha ... os - 1)escapePos - 1escapePos -= 1;escapePos -= 1escaped = !escaped;escaped = !escaped!escaped["strin ... offset]case at ...  break;atEnd.l ... os + 1;atEnd.l ... pos + 1atEnd.lastIndexatEnd.test(css);atEnd.test(css)atEnd.testif (atE ...       }atEnd.l ... x === 0next =  ... ex - 2;next =  ... dex - 2atEnd.lastIndex - 2["at-wo ... offset]case ba ...  break;css.cha ... xt + 1)escape = !escape;escape = !escape!escapecode =  ... t + 1);code =  ... xt + 1)escape  ... = feed)(code ! ... = feed)code != ... != feedcode != ... e != crcode != ...  != tabcode != ... newlinecode != ... = spacecode != slashcode != spacecode != newlinecode != tabcode != crcode != feed["word" ... offset]code == ... steriskcode == slashcss.cha ... steriskcss.cha ... os + 1)next =  ... 2) + 1;next =  ...  2) + 1css.ind ...  2) + 1css.ind ... os + 2)pos + 2if (nex ...  "*/");next === 0unclose ...  "*/");unclose ... , "*/")content.split("\n")content.splitnextLin ... + last;nextLin ...  + lastline + lastnextOff ... length;nextOff ... .lengthnext -  ... .lengthlines[last].lengthlines[last]nextLine = line;nextLine = linenextOffset = offset;nextOffset = offset["comme ... Offset]next - nextOffsetoffset = nextOffset;offset = nextOffsetline = nextLine;line = nextLinewordEnd ... os + 1;wordEnd ... pos + 1wordEnd.lastIndexwordEnd.test(css);wordEnd.test(css)wordEnd.testif (wor ...       }wordEnd ... x === 0wordEnd ... dex - 2pos++;pos++return tokens;113:[fu ... ;\n},{}]prefix: ... }\n    }prop[0] == "-"prop[0]var sep ... -", 1);sep = p ... "-", 1)prop.indexOf("-", 1)return  ... p + 1);prop.su ... ep + 1)prop.substrsep + 1unprefi ... }\n    }prop.substr(sep + 1)114:[fu ... r":49}][functi ... r":49}]{\n/*\n * ... is);\n\n}(functi ...    }\n}){\n    ' ...     }\n}var _Ba ... Base64;_Base64 ... .Base64global.Base64var ver ... 2.1.8";version = "2.1.8"2.1.8var buffer;buffer  ... Buffer;buffer  ... .Bufferrequire ... .Bufferrequire('buffer')var b64 ... 789+/';b64char ... 6789+/'var b64 ... chars);b64tab  ... 4chars)functio ... 4chars)var t = {};t = {}for (va ... )] = i;l = bin.lengthbin.lengtht[bin.c ... )] = i;t[bin.charAt(i)] = it[bin.charAt(i)]bin.charAt(i)bin.charAtreturn t;var fro ... arCode;fromCha ... harCodevar cb_ ... \n    };cb_utob ... }\n    }if (c.l ...       }c.length < 2c.lengthvar cc  ... eAt(0);cc = c.charCodeAt(0)c.charCodeAt(0)c.charCodeAtreturn  ... x3f)));cc < 0x ... 0x3f)))cc < 0x80cc < 0x800(fromCh ... 0x3f)))fromCha ...  0x3f))fromCha ... >>> 6))0xc0 | (cc >>> 6)(cc >>> 6)cc >>> 60x80 | (cc & 0x3f)(cc & 0x3f)cc & 0x3ffromCha ...  0x0f))0xe0 |  ... & 0x0f)((cc >>> 12) & 0x0f)(cc >>> 12) & 0x0f(cc >>> 12)cc >>> 120x80 |  ... & 0x3f)((cc >>>  6) & 0x3f)(cc >>>  6) & 0x3f(cc >>>  6)cc >>>  6( cc         & 0x3f)cc         & 0x3fvar cc  ... xDC00);cc = 0x ... 0xDC00)0x10000 ... 0xDC00)0x10000 ... * 0x400(c.char ... * 0x400(c.char ... 0xD800)c.charC ...  0xD8001024(c.char ... 0xDC00)c.charC ...  0xDC00c.charCodeAt(1)fromCha ...  0x07))0xf0 |  ... & 0x07)((cc >>> 18) & 0x07)(cc >>> 18) & 0x07(cc >>> 18)cc >>> 18((cc >>> 12) & 0x3f)(cc >>> 12) & 0x3fvar re_ ... x7F]/g;re_utob ... \x7F]/g/[\uD80 ... \x7F]/g[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F][\uD800-\uDBFF][\uDC00-\uDFFFF][\uD800-\uDBFF]\uD800-\uDBFF\uD800\uDBFF[\uDC00-\uDFFFF]\uDC00-\uDFFF\uDC00\uDFFF[^\x00-\x7F]\x00-\x7F\x00 \x7Fvar uto ... \n    };utob =  ... ;\n    }return  ... _utob);u.repla ... b_utob)u.replacecb_enco ... ;\n    }var pad ...      ];padlen  ... th % 3][0, 2,  ... th % 3][0, 2, 1]ccc.length % 3ccc.lengthord = c ... ) : 0))ccc.cha ... ) : 0))ccc.cha ... ) << 8)ccc.cha ... ) << 16ccc.charCodeAt(0)ccc.charCodeAt((ccc.l ... ) << 8)(ccc.le ... 0) << 8(ccc.le ... 1) : 0)ccc.len ... (1) : 0ccc.length > 1ccc.charCodeAt(1)((ccc.l ... ) : 0))(ccc.le ... 2) : 0)ccc.len ... (2) : 0ccc.length > 2ccc.charCodeAt(2)chars = ...       ]b64char ... >>> 18)b64chars.charAtord >>> 18b64char ... ) & 63)(ord >>> 12) & 63(ord >>> 12)ord >>> 12padlen  ... ) & 63)padlen >= 2(ord >>> 6) & 63(ord >>> 6)ord >>> 6padlen  ... d & 63)padlen >= 1b64char ... d & 63)ord & 63return  ... in('');chars.join('')chars.joinvar bto ... \n    };btoa =  ... ;\n    }global. ... ;\n    }global.btoareturn  ... toa(b);global.btoa(b)return  ... ncode);b.repla ... encode)b.replace[\s\S]{1,3}var _en ... }\n    ;_encode ... b(u)) }buffer  ... b(u)) }return  ... ase64')(u.cons ... ase64')(u.cons ... oString(u.cons ... fer(u))u.const ... ffer(u)u.const ... tructoru.constructorbuffer.constructornew buffer(u)functio ... b(u)) }{ retur ... b(u)) }return btoa(utob(u))btoa(utob(u))utob(u)var enc ... \n    };encode  ... ;\n    }return  ... g, '');!urisaf ... /g, '')!urisafe_encode(String(u))String(u)_encode ... /g, '')_encode ... replace_encode ...      })[+\/]return  ...  : '_';m0 == ' ... ' : '_'m0 == '+'var enc ... rue) };encodeU ... true) }functio ... true) }{ retur ... true) }return  ... , true)encode(u, true)var re_ ... , 'g');re_btou ... ), 'g')new Reg ... ), 'g')[\n      ... in('|')[\n      ...  ].join[\n      ... '\n    ]'[\xC0- ... -\xBF]'[À-ß][-¿][À-ß]À-ßÀß[-¿]-¿¿'[\xE0- ... BF]{2}'[à-ï][-¿]{2}[à-ï]à-ïàï[-¿]{2}'[\xF0- ... BF]{3}'[ð-÷][-¿]{3}[ð-÷]ð-÷ð÷[-¿]{3}cb_btou ... }\n    }switch( ...       }cccc.lengthcase 4: ... DC00));var cp  ... x10000;cp = (( ... eAt(3))((0x07  ... eAt(3))((0x07  ...  <<  6)((0x07  ...  << 12)((0x07  ...  << 18)(0x07 & ... ) << 18(0x07 & ... eAt(0))0x07 &  ... deAt(0)cccc.charCodeAt(0)cccc.charCodeAt((0x3f  ...  << 12)(0x3f & ... ) << 12(0x3f & ... eAt(1))0x3f &  ... deAt(1)cccc.charCodeAt(1)((0x3f  ...  <<  6)(0x3f & ... ) <<  6(0x3f & ... eAt(2))0x3f &  ... deAt(2)cccc.charCodeAt(2)(0x3f & ... eAt(3))0x3f &  ... deAt(3)cccc.charCodeAt(3)offset  ... 0x10000cp - 0x10000return  ... DC00));(fromCh ... xDC00))fromCha ... 0xDC00)fromCha ... 0xD800)(offset ...  0xD800(offset  >>> 10)offset  >>> 10(offset ...  0xDC00(offset & 0x3FF)offset & 0x3FF1023case 3: ...      );return  ...      );fromCha ...       )((0x0f  ... eAt(2))((0x0f  ... ) << 6)((0x0f  ...  << 12)(0x0f & ... ) << 12(0x0f & ... eAt(0))0x0f &  ... deAt(0)((0x3f  ... ) << 6)(0x3f & ... )) << 6default ...      );((0x1f  ... eAt(1))((0x1f  ... ) << 6)(0x1f & ... )) << 6(0x1f & ... eAt(0))0x1f &  ... deAt(0)btou =  ... ;\n    }return  ... _btou);b.repla ... b_btou)cb_deco ... ;\n    }var len ...      ];len = cccc.lengthpadlen = len % 4len % 4n = (le ...    : 0)(len >  ...    : 0)(len >  ...  6 : 0)(len >  ... 12 : 0)(len >  ... 18 : 0)len > 0 ...  18 : 0len > 0b64tab[ ... ] << 18b64tab[ ... rAt(0)]cccc.charAt(0)cccc.charAtlen > 1 ...  12 : 0len > 1b64tab[ ... ] << 12b64tab[ ... rAt(1)]cccc.charAt(1)len > 2 ...   6 : 0len > 2b64tab[ ... ] <<  6b64tab[ ... rAt(2)]cccc.charAt(2)len > 3 ...     : 0len > 3b64tab[ ... rAt(3)]cccc.charAt(3)fromCha ... >>> 16)n >>> 16fromCha ... & 0xff)(n >>>  8) & 0xff(n >>>  8)n >>>  8n         & 0xffchars.l ... adlen];chars.l ... padlen]chars.length[0, 0, 2, 1][padlen][0, 0, 2, 1]var ato ... \n    };atob =  ... ;\n    }global.atobreturn  ... tob(a);global.atob(a)return  ... ecode);a.repla ... decode)a.replace[\s\S]{1,4}var _de ... (a)) };_decode ... b(a)) }buffer  ... b(a)) }(a.cons ... tring()(a.cons ... oString(a.cons ... se64'))a.const ... ase64')a.const ... tructora.constructornew buf ... ase64')functio ... b(a)) }{ retur ... b(a)) }return btou(atob(a))btou(atob(a))atob(a)var dec ... \n    };decode  ... ;\n    }_decode ...       )String( ... /g, '')String( ... replaceString( ...  '/' })String(a).replaceString(a)[-_]functio ... : '/' }{ retur ... : '/' }return  ... ' : '/'m0 == ' ... ' : '/'m0 == '-'[^A-Za-z0-9\+\/]A-ZZa-zvar noC ... \n    };noConfl ... ;\n    }global. ... Base64;global. ... _Base64return Base64;global. ... \n    };global. ... t\n    }{\n      ... t\n    }VERSION: versionatob: atobbtoa: btoafromBase64: decodetoBase64: encodeutob: utobencode: encodeencodeURI: encodeURIbtou: btoudecode: decodenoConfl ... onflicttypeof  ... ropertyvar noE ...      };noEnum  ...       }return  ... :true};{value: ... e:true}value:venumerable:falsewritable:trueconfigurable:trueglobal. ...      };global. ...       }global. ... dStringObject. ...    }));Object. ...     }))noEnum( ...      })return decode(this)decode(this)return  ... risafe)encode( ... risafe)toBase64URIencode(this, true)if (glo ... s\n    }global['Meteor']MeteorBase64  ... Base64;{"buffer":49}"buffer":49115:[fu ... ":125}][functi ... ":125}]functio ... ode;\n\n}{\n/*\n * ... ode;\n\n}exports ... erator;exports ... neratorrequire ... neratorrequire ... rator')'./sour ... erator'./source-map/source-map-generator/source-map/source-map-generatorexports ... nsumer;exports ... onsumerrequire ... onsumerrequire ... sumer')'./sour ... nsumer'./source-map/source-map-consumer/source-map/source-map-consumerexports ... ceNode;exports ... rceNodeexports.SourceNoderequire ... rceNoderequire ... -node')'./sour ... e-node'./source-map/source-node/source-map/source-node{"./sou ... e":125}"./sour ... er":123"./sour ... nsumer""./sour ... or":124"./sour ... erator""./sour ... de":125"./sour ... e-node"116:[fu ... ":127}][functi ... ":127}]functio ... \n});\n\n}{\n/* -* ... \n});\n\n}if (typ ... ire);\n}{\n    v ... ire);\n}var def ... quire);define  ... equire)require ... equire)require('amdefine')define( ... t;\n\n});define( ... et;\n\n})functio ... Set;\n\n}{\n\n  va ... Set;\n\n}var uti ... util');util =  ... /util')require('./util')./util/utilfunctio ... {};\n  }{\n    t ... {};\n  }this._array = [];this._array = []this._arraythis._set = {};this._set = {}this._setArraySe ... t;\n  };ArraySe ... et;\n  }ArraySet.fromArray{\n    v ... et;\n  }var set ... ySet();set = new ArraySet()new ArraySet()len = aArray.lengthaArray.lengthset.add ... cates);set.add ... icates)set.addaArray[i]return set;ArraySe ...  }\n  };ArraySe ...   }\n  }ArraySe ... ype.addArraySet.prototypevar isD ... (aStr);isDupli ... s(aStr)this.has(aStr)this.hasvar idx ... length;idx = t ... .lengththis._array.lengthif (!is ... ;\n    }!isDupl ... licates!isDuplicatethis._a ... (aStr);this._a ... h(aStr)this._array.pushthis._s ...  = idx;this._s ... ] = idxthis._s ... (aStr)]util.to ... g(aStr)util.toSetStringArraySe ... );\n  };ArraySe ... ));\n  }ArraySe ... ype.hasreturn  ... aStr));Object. ... (aStr))Object. ... ty.callArraySe ... ');\n  }ArraySe ... indexOf{\n    i ... ');\n  }if (thi ... ;\n    }return  ... aStr)];throw n ... set.');new Err ...  set.')'"' + a ... e set.''"' + aStr'" is n ... e set.'" is not in the set." is not in the setArraySe ... x);\n  }ArraySe ... type.atfunctio ... x);\n  }{\n    i ... x);\n  }if (aId ... ;\n    }aIdx >= ... .lengthaIdx >= 0aIdx <  ... .lengthreturn  ... [aIdx];this._array[aIdx]throw n ...  aIdx);new Err ... + aIdx)'No ele ...  + aIdx'No ele ... ed by 'No element indexed by ArraySe ... ();\n  }ArraySe ... toArrayreturn  ... lice();this._array.slice()this._array.sliceexports ... raySet;exports ... rraySetexports.ArraySet{"./uti ... e":127}"./util":126"amdefine":127117:[fu ... ":127}]define( ... };\n\n});define( ...  };\n\n}){\n\n  va ...   };\n\n}var bas ... se64');base64  ... ase64')require('./base64')./base64/base64var VLQ ... FT = 5;VLQ_BASE_SHIFT = 5var VLQ ... _SHIFT;VLQ_BAS ... E_SHIFT1 << VLQ_BASE_SHIFTvar VLQ ... SE - 1;VLQ_BAS ... ASE - 1VLQ_BASE - 1var VLQ ... Q_BASE;VLQ_CON ... LQ_BASEfunctio ...  0;\n  }{\n    r ...  0;\n  }return  ... 1) + 0;aValue  ...  1) + 0aValue < 0((-aValue) << 1) + 1((-aValue) << 1)(-aValue) << 1(-aValue)-aValue(aValue << 1) + 0(aValue << 1)aValue << 1var isN ...  === 1;isNegat ... ) === 1(aValue & 1) === 1(aValue & 1)aValue & 1var shi ... e >> 1;shifted ... ue >> 1aValue >> 1return  ... hifted;isNegat ... shifted-shiftedexports ... d;\n  };exports ... ed;\n  }exports.encodevar encoded = "";encoded = ""var digit;var vlq ... Value);vlq = t ... aValue)toVLQSigned(aValue)do {\n   ... q > 0);vlq > 0digit = ... E_MASK;digit = ... SE_MASKvlq & VLQ_BASE_MASKvlq >>> ... _SHIFT;vlq >>> ... E_SHIFTif (vlq ...       }digit | ... ON_BIT;digit | ... ION_BITencoded ... digit);encoded ... (digit)base64.encode(digit)base64.encodereturn encoded;exports ... );\n  };exports ... i);\n  }exports.decodefunctio ... i);\n  }{\n    v ... i);\n  }var i = 0;var str ... length;strLen = aStr.lengthaStr.lengthvar result = 0;result = 0var shift = 0;shift = 0var con ...  digit;do {\n   ... ation);if (i > ...       }i >= strLenthrow n ... lue.");new Err ... alue.")"Expect ... value."Expected more digits in base 64 VLQ value.Expected more digits in base 64 VLQ valuedigit = ... (i++));digit = ... t(i++))base64. ... t(i++))base64.decodeaStr.charAt(i++)aStr.charAtcontinu ... N_BIT);continu ... ON_BIT)!!(digi ... ON_BIT)!(digit ... ON_BIT)(digit  ... ON_BIT)digit & ... ION_BITdigit & ... E_MASK;digit & ... SE_MASKresult  ... shift);result  ...  shift)(digit << shift)digit << shiftshift + ... _SHIFT;shift + ... E_SHIFTaOutPar ... esult);aOutPar ... result)aOutParam.valuefromVLQ ... result)aOutPar ... ice(i);aOutPar ... lice(i)aOutParam.restaStr.slice(i)aStr.slice{"./bas ... e":127}"./base64":118118:[fu ... ":127}]var cha ... p = {};charToIntMap = {}var int ... p = {};intToCharMap = {}'ABCDEF ...     });'ABCDEF ... \n    })'ABCDEF ... forEach'ABCDEF ... lit('')'ABCDEF ...  .splitcharToI ...  index;charToI ... = indexcharToIntMap[ch]intToCh ... ] = ch;intToCh ... x] = chintToCharMap[index]exports ... r);\n  }{\n    i ... r);\n  }if (aNu ... ;\n    }aNumber ... CharMapreturn  ... umber];intToCh ... Number]throw n ... umber);new Typ ... Number)"Must b ... aNumber"Must b ... d 63: "Must be between 0 and 63: if (aCh ... ;\n    }aChar i ... oIntMapreturn  ... aChar];charToIntMap[aChar]throw n ... aChar);new Typ ...  aChar)"Not a  ... + aChar"Not a  ... igit: "Not a valid base 64 digit: {"amdefine":127}119:[fu ... ":127}]define( ... r;\n\n});define( ... er;\n\n})functio ... mer;\n\n}{\n\n  va ... mer;\n\n}var bin ... arch');binaryS ... earch')require ... earch')./binary-search/binary-searchvar Arr ... raySet;ArraySe ... rraySetrequire ... rraySetrequire ... y-set')./array-set/array-setvar bas ... -vlq');base64V ... 4-vlq')require ... 4-vlq')./base64-vlq/base64-vlqvar Sou ... nsumer;SourceM ... onsumer./source-map-consumer/source-map-consumerfunctio ... le;\n  }BasicSo ... onsumer{\n    v ... le;\n  }var sou ... rceMap;sourceM ... urceMaptypeof aSourceMapsourceM ... , ''));sourceM ... /, ''))JSON.pa ... /, ''))aSource ... '/, '')aSourceMap.replace^\)\]\}'var ver ... sion');version ... rsion')util.ge ... rsion')util.getArgvar sou ... rces');sources ... urces')util.ge ... urces')var nam ... ', []);names = ... s', [])util.ge ... s', [])var sou ...  null);sourceR ... , null)util.ge ... , null)sources ... , null)var map ... ings');mapping ... pings')util.ge ... pings')var fil ...  null);file =  ... , null)if (ver ... ;\n    }version ... versionthis._versionthrow n ... rsion);new Err ... ersion)'Unsupp ... version'Unsupp ... sion: 'Unsupported version: sources ... alize);sources ... malize)sources.maputil.normalizethis._n ...  true);this._n ... , true)this._namesArraySe ... , true)this._s ...  true);this._s ... , true)this._sourcesthis.so ... ceRoot;this.so ... rceRootthis.sourceRootthis.so ... ontent;this.so ... Contentthis.sourcesContentthis._m ... ppings;this._m ... appingsthis._mappingsBasicSo ... otype);BasicSo ... totype)BasicSo ... ototypeObject. ... totype)SourceM ... ototypeBasicSo ... nsumer;BasicSo ... \n    };BasicSo ... ;\n    }BasicSo ... urceMapSourceM ... urceMapvar smc ... otype);smc = O ... totype)smc._na ...  true);smc._na ... , true)smc._namesaSource ... Array()aSource ... toArrayaSourceMap._namessmc._so ...  true);smc._so ... , true)smc._sourcesaSourceMap._sourcessmc.sou ... ceRoot;smc.sou ... rceRootsmc.sourceRootaSource ... rceRootsmc.sou ... eRoot);smc.sou ... ceRoot)smc.sourcesContentaSource ... ceRoot)aSource ... Content_genera ... Contentsmc._so ... Array()smc._sources.toArraysmc.fil ... ._file;smc.fil ... p._filesmc.fileaSourceMap._filesmc.__g ... lice();smc.__g ... slice()smc.__g ... appingsaSource ... slice()aSource ... ).sliceaSourceMap._mappingssmc.__o ... tions);smc.__o ... itions)smc.__o ... appingsaSource ... itions)aSource ...   .sortutil.co ... sitionscompare ... sitionsreturn smc;BasicSo ... on = 3;BasicSo ... ion = 3BasicSo ... versionObject. ... }\n  });Object. ...  }\n  }){\n    g ...   }\n  }get: fu ... ;\n    }this._s ... , this)this._s ... y().mapthis._s ... Array()this._s ... toArrayreturn  ... s) : s;this.so ...  s) : sthis.so ... != nullutil.jo ... oot, s)util.joinBasicSo ... appingsSourceM ... appingsvar gen ... ne = 1;generatedLine = 1var pre ... mn = 0;previou ... umn = 0previou ... dColumnvar pre ... ne = 0;previou ... ine = 0previou ... lColumnvar pre ... ce = 0;previousSource = 0var pre ... me = 0;previousName = 0var str = aStr;str = aStrvar temp = {};temp = {}var mapping;str.length > 0str.cha ... === ';'str.charAt(0)str.charAtgeneratedLine++;generatedLine++str = str.slice(1);str = str.slice(1)previou ... mn = 0;str.cha ... === ','mapping = {};mapping = {}mapping ... edLine;mapping ... tedLinebase64V ...  temp);base64V ... , temp)base64VLQ.decodemapping ... .value;mapping ... p.valuemapping ... dColumnpreviou ... p.valuetemp.valuepreviou ... Column;str = temp.rest;str = temp.resttemp.reststr.len ... or(str)!this._ ... or(str)this._n ... or(str)this._n ... parator_nextCh ... paratormapping ... value);mapping ... .value)mapping.sourcethis._s ... .value)this._sources.atpreviou ... .value;str.length === 0throw n ... lumn');new Err ... olumn')'Found  ... column'Found a source, but no line and columnmapping.originalLinepreviou ... alLine;previou ... nalLinemapping ... e += 1;mapping ... ne += 1Found a source and line, but no columnmapping ... lColumnmapping.namethis._n ... .value)this._names.atthis.__ ... pping);this.__ ... apping)this.__ ... gs.pushthis.__ ... appingstypeof  ... nalLinethis.__ ... tions);this.__ ... itions)this.__ ... gs.sortBasicSo ... MappingSourceM ... Mappingif (aNe ...       }aNeedle ... e] <= 0aNeedle[aLineName]throw n ... Name]);new Typ ... eName])'Line m ... neName]'Line m ... , got 'Line must be greater than or equal to 1, got aNeedle ... me] < 0aNeedle[aColumnName]new Typ ... nName])'Column ... mnName]'Column ... , got 'Column must be greater than or equal to 0, got return  ... rator);binaryS ... arator)binarySearch.searchBasicSo ... }\n    }BasicSo ... mnSpansSourceM ... mnSpansindex < ... .lengththis._g ... .lengththis._g ... appings++indexvar index = 0index = 0var map ... index];mapping ... [index]this._g ... [index]index + ... .lengthvar nex ... x + 1];nextMap ... ex + 1]this._g ... ex + 1]nextMap ... tedLinemapping ... mn - 1;mapping ... umn - 1nextMap ... umn - 1nextMap ... dColumnmapping ... finity;mapping ... nfinityBasicSo ... tionForSourceM ... tionForvar nee ...      };needle  ...       }generat ... 'line')util.ge ... 'line')generat ... olumn')util.ge ... olumn')var ind ... tions);index = ... itions)this._f ... itions)this._findMappingneedle.generatedLinesource  ... , null)if (sou ...       }source  ... != nullsource != nullsource  ... ource);source  ... source)util.jo ... source)source: sourceline: u ... , null)column: ... , null)name: u ... , null)source: nullline: nullcolumn: nullname: nullBasicSo ... tentForSourceM ... tentFor!this.sourcesContentaSource ... ource);aSource ... Source)util.re ... Source)util.relativethis._s ... Source)this._sources.hasreturn  ... urce)];this.so ... ource)]this._s ... indexOfvar url;this.so ... eRoot))(url =  ... eRoot))url = u ... ceRoot)util.ur ... ceRoot)util.urlParsevar fil ... /, "");fileUri ... //, "")aSource ... //, "")aSource.replace^file:\/\/if (url ...       }url.sch ... bsPath)url.scheme == "file"url.schemethis._s ... bsPath)return  ... sPath)]this.so ... sPath)]if ((!u ...       }(!url.p ... Source)(!url.p ... == "/")!url.pa ...  == "/"!url.pathurl.pathurl.path == "/""/" + aSourceif (nul ...       }throw n ... Map.');new Err ... eMap.')'"' + a ... ceMap.''"' + aSource'" is n ... ceMap.'" is not in the SourceMap." is not in the SourceMapsource: ... ource')util.ge ... ource')origina ... 'line')origina ... olumn')needle. ... ource);needle. ... source)needle.sourceutil.re ... source)this._o ... appingsthis._o ... [index]lastCol ... , null)'lastGe ... Column'lastColumn: null{"./arr ... e":127}"./array-set":116"./base64-vlq":117"./bina ... ch":120120:[fu ... ":127}]{\n\n  /* ...   };\n\n}var mid ... + aLow;mid = M ...  + aLowMath.fl ...  + aLowMath.fl ... w) / 2)(aHigh - aLow) / 2(aHigh - aLow)aHigh - aLowvar cmp ...  true);cmp = a ... , true)aCompar ... , true)aHaystack[mid]if (cmp ... ;\n    }cmp === 0return mid;cmp > 0if (aHi ...       }aHigh - mid > 1aHigh - midreturn  ... mpare);recursi ... ompare)if (mid ...       }mid - aLow > 1mid - aLowreturn  ... : aLow;aLow < 0 ? -1 : aLowaLow < 0exports ... e)\n  };exports ... re)\n  }exports.searchfunctio ... re)\n  }{\n    i ... re)\n  }if (aHa ... ;\n    }aHaysta ... h === 0aHaystack.lengthreturn  ... ompare)121:[fu ... ":127}]define( ... er;\n});define( ... mer;\n})functio ... umer;\n}{\n\n  va ... umer;\n}var Bas ... nsumer;'./basi ... nsumer'./basic-source-map-consumer/basic-source-map-consumerIndexed ... onsumer{\n    v ... });\n  }var sec ... ions');section ... tions')util.ge ... tions')var las ... \n    };lastOff ... 0\n    }line: -1column: 0this._s ...     });this._s ... \n    })this._sectionssection ... \n    })sections.mapif (s.u ...       }s.urlthrow n ... ted.');new Err ... nted.')'Suppor ... ented.'Support for url field in sections not implemented.Support for url field in sections not implementedvar off ... fset');offset  ... ffset')util.ge ... ffset')var off ... line');offsetL ... 'line')var off ... lumn');offsetC ... olumn')if (off ...       }offsetL ... column)offsetL ... et.linelastOffset.line(offset ... column)offsetL ... .columnoffsetC ... .columnlastOffset.columnthrow n ... ing.');new Err ... ping.')'Sectio ... pping.'Section offsets must be ordered and non-overlapping.Section offsets must be ordered and non-overlappinglastOffset = offset;lastOffset = offsetreturn  ...       }generat ... ine + 1offsetLine + 1generat ... umn + 1offsetColumn + 1consume ... 'map'))new Sou ... 'map'))util.ge ...  'map')Indexed ... otype);Indexed ... totype)Indexed ... ototypeIndexed ... nsumer;Indexed ... tructorIndexed ... on = 3;Indexed ... ion = 3Indexed ... versionvar sources = [];sources = []this._s ... .lengthj < thi ... .lengththis._s ... sourcesthis._s ... onsumerthis._sections[i]sources ... es[j]);sources ... ces[j])sources.pushthis._s ... rces[j]return sources;Indexed ... \n    };Indexed ... ;\n    }Indexed ... tionForvar sec ...     });section ...      })binaryS ...      })var cmp ... edLine;cmp = n ... tedLineneedle. ... tedLinesection ... tedLinesection ... dOffsetif (cmp ...       }return cmp;(needle ... Column)needle. ... dColumnsection ... dColumnvar sec ... Index];section ... nIndex]this._s ... nIndex]if (!se ...       }!sectionsection ... tionForsection.consumerline: n ... ne - 1)needle. ... ne - 1)(sectio ... ne - 1)section ... ine - 1column: ...    : 0)needle. ...    : 0)(sectio ...    : 0)section ...     : 0section ... umn - 1Indexed ... }\n    }Indexed ... tentForvar sec ... ons[i];section ... ions[i]var con ...  true);content ... , true)section ... , true)section ... tentForif (con ...       }return content;if (sec ...       }section ...  === -1section ... urce'))section ... indexOfsection ... sourcesvar gen ... aArgs);generat ... (aArgs)section ... (aArgs)if (gen ...       }var ret ...      };ret = { ...       }line: g ... ne - 1)generat ... ne - 1)generat ... on.linegenerat ...    : 0)generat ... .columnsection ... on.linereturn ret;Indexed ... );\n  };Indexed ... s);\n  }Indexed ... appings{\n      ... s);\n  }this.__ ... s = [];this.__ ... gs = []var sec ... ppings;section ... appingsj < sec ... .lengthsection ... .lengthvar map ... ngs[i];mapping ... ings[i]sectionMappings[i]var sou ... source;source  ... .sourcevar sou ... ceRoot;sourceR ... rceRootsection ... rceRootsourceRoot != nullvar adj ...      };adjuste ...       }mapping ... ne - 1)generat ...     : 0mapping ...     : 0mapping ... edLine)mapping.column(sectio ... edLine)origina ... nalLineorigina ... lColumnname: mapping.nameadjuste ... nalLine"./basi ... er":119"./basi ... nsumer"122:[fu ... ":127}]define( ... st;\n\n}){\n\n  va ... ist;\n\n}generat ... onAfter{\n    / ...  0;\n  }var lin ... edLine;lineA = ... tedLinelineB = ... tedLinevar col ... Column;columnA ... dColumncolumnB ... dColumnreturn  ... ) <= 0;lineB > ... B) <= 0lineB > ... columnAlineB > lineAlineB = ... columnAlineB == lineAcolumnB >= columnAutil.co ... B) <= 0util.co ... ppingB)functio ... 0};\n  }{\n    t ... 0};\n  }this._sorted = true;this._sorted = truethis._sortedthis._l ... mn: 0};this._l ... umn: 0}this._last{genera ... umn: 0}generatedLine: -1generatedColumn: 0Mapping ... \n    };Mapping ... ;\n    }Mapping ... ForEachMapping ... ototypethis._a ... isArg);this._a ... hisArg)this._array.forEachMapping ...  }\n  };Mapping ...   }\n  }Mapping ... ype.addif (gen ... ;\n    }generat ... apping)this._l ... apping;this._l ... Mappingthis._a ... pping);this._a ... apping)this._s ...  false;this._sorted = falseMapping ... y;\n  };Mapping ... ay;\n  }Mapping ... toArrayfunctio ... ay;\n  }{\n    i ... ay;\n  }if (!th ... ;\n    }!this._sortedthis._a ... tions);this._a ... itions)this._array.sortreturn this._array;exports ... ngList;exports ... ingListexports.MappingList123:[fu ... ":127}]if (sou ... ;\n    }sourceM ... != nullsourceMap.sectionsvar ind ... umer');indexed ... sumer')indexed ... onsumer'./inde ... nsumer'./indexed-source-map-consumer/indexed-source-map-consumerreturn  ... ceMap);new ind ... rceMap)var bas ... umer');basicSo ... sumer')basicSo ... onsumernew bas ... rceMap)SourceM ... p);\n  }functio ... p);\n  }{\n    v ... p);\n  }basicSo ... rceMap)basicSo ... urceMapSourceM ... on = 3;SourceM ... ion = 3SourceM ... versionSourceM ... = null;SourceM ...  = null!this._ ... appingsthis._p ... eRoot);this._p ... ceRoot)this._parseMappingsreturn  ... ppings;SourceM ... \n    };SourceM ... ;\n    }SourceM ... paratorvar c = ... rAt(0);c = aStr.charAt(0)aStr.charAt(0)return  ... == ",";c === " ... === ","c === ";"c === ","throw n ... ings");new Err ... pings")"Subcla ... ppings"Subclasses must implement _parseMappingsSourceM ... ER = 1;SourceM ... DER = 1SourceM ... D_ORDERSourceM ... ER = 2;SourceM ... DER = 2SourceM ... L_ORDERvar con ... | null;context ... || nullaContext || nullvar ord ... _ORDER;order = ... D_ORDERaOrder  ... D_ORDERvar mappings;case So ...  break;mapping ... ppings;mapping ... appingsdefault ... ion.");throw n ... ion.");new Err ... tion.")"Unknow ... ation."Unknown order of iteration.Unknown order of iterationmapping ... ntext);mapping ... ontext)mapping ... forEachmapping ...      })mappings.mapgenerat ... tedLinegenerat ... dColumnSourceM ... ionsForallGene ... ionsFororigina ... nfinityvar mappings = [];mappings = []mapping ... nalLineneedle.originalLinemapping ...     });mappings.pushmapping ... index];mapping ... -index]this._o ... -index]--indexreturn  ... erse();mappings.reverse()mappings.reverse"./inde ... er":121"./inde ... nsumer"124:[fu ... ":127}]define( ... or;\n\n}){\n\n  va ... tor;\n\n}var Map ... ngList;Mapping ... ingListrequire ... ingListrequire ... -list')./mapping-list/mapping-listfunctio ... ll;\n  }{\n    i ... ll;\n  }if (!aA ... ;\n    }!aArgsaArgs = {};aArgs = {}this._f ...  null);this._f ... , null)this._filethis._s ...  null);this._s ... , null)this._sourceRootthis._s ... false);this._s ...  false)this._skipValidationutil.ge ...  false)skipValidationthis._s ... ySet();this._s ... aySet()this._n ... ySet();this._n ... aySet()this._m ... List();this._m ... gList()new MappingList()this._s ... = null;this._s ...  = nullthis._s ... ontentsvar gen ...     });new Sou ...      })file: a ... er.fileaSource ... er.fileaSource ...     });aSource ...      })aSource ... Mappingvar new ...      };newMapp ...       }line: m ... tedLinecolumn: ... dColumnmapping ... != nullnewMapp ... source;newMapp ... .sourcenewMapping.sourcenewMapp ... ource);newMapp ... source)newMapp ...      };newMapping.originalline: m ... nalLinecolumn: ... lColumnmapping.name != nullnewMapp ... g.name;newMapp ... ng.namenewMapping.namegenerat ... pping);generator.addMappingaSource ... forEachaSource ... sourcesvar con ... eFile);content ... ceFile)aSource ... ceFile)aSource ... tentForcontent != nullgenerat ... ntent);generat ... ontent)generat ... Contentreturn generator;var gen ... ated');generat ... rated')util.ge ... rated')var ori ...  null);origina ... , null)var nam ...  null);name =  ... , null)!this._ ... idationthis._v ...  name);this._v ... , name)this._v ... Mapping!this._ ... source)this._s ... source)this._s ... ource);this._sources.addname != ... s(name)name != null!this._ ... s(name)this._n ... s(name)this._names.hasthis._n ... (name);this._n ... d(name)this._names.addthis._m ...     });this._m ...      })this._mappings.addgenerat ... ed.linegenerated.linegenerated.columnorigina ... al.lineoriginal != nulloriginal.lineorigina ... .columnoriginal.columnname: nameSourceM ... }\n    }SourceM ... Contentvar sou ... ceFile;source = aSourceFilethis._s ... != nullif (aSo ...       }aSource ... != null!this._ ... ontentsthis._s ... s = {};this._s ... ts = {}this._s ... ontent;this._s ... Contentthis._s ... ource)]util.to ... source)delete  ... urce)];delete  ... ource)]if (Obj ...       }Object. ... h === 0Object. ... .lengthObject. ... ntents)sourceF ... rceFileaSourceFile == nullaSource ... == nullthrow n ...      );new Err ...       )'Source ... itted.''Source ... file, 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, applySourceMap requires either an explicit source file, 'or the ... itted.'or the source map's "file" property. Both were omitted.or the source map's "file" property Both were omittedsourceF ... r.file;sourceF ... er.filesourceF ... eFile);sourceF ... ceFile)util.re ... ceFile)var new ... ySet();newSour ... aySet()newName ... aySet()this._m ...  this);this._m ... , this)this._m ... ForEachmapping ... rceFilevar ori ...     });origina ...      })aSource ... tionFororigina ... != nulloriginal.sourcemapping ... source;mapping ... .sourcemapping ... source)mapping ... ource);mapping ... l.line;mapping ... al.linemapping ... column;mapping ... .columnoriginal.namemapping ... l.name;mapping ... al.name!newSou ... source)newSour ... source)newSources.hasnewSour ... ource);newSources.addvar nam ... g.name;name = mapping.name!newNames.has(name)newNames.has(name)newNames.hasnewNames.add(name);newNames.add(name)newNames.addthis._s ... ources;this._s ... Sourcesthis._n ... wNames;this._n ... ewNamesaSource ...  this);aSource ... , this)util.jo ... ceFile)this.se ... ntent);this.se ... ontent)if (aGe ...       }aGenera ...  !aNameaGenera ... aSourceaGenera ... riginalaGenera ... mn >= 0aGenera ... ine > 0aGenera ... nerated'line' in aGenerated'column ... neratedaGenerated.line > 0aGenerated.lineaGenerated.column!aOriginal!aSource!aName'line' in aOriginal'column ... riginalaOriginal.line > 0aOriginal.lineaOrigin ... mn >= 0aOriginal.columnthrow n ...    }));new Err ...     }))'Invali ...      })Invalid mapping: JSON.st ...      })generat ... neratedsource: aSourceoriginal: aOriginalname: aNamevar pre ... ne = 1;previou ... ine = 1previou ... tedLinevar result = '';var map ... rray();mapping ... Array()this._m ... Array()this._m ... toArraylen = m ... .lengthmappings.lengthmapping ... ngs[i];mappings[i]result += ';';result += ';'previou ... Line++;previou ... dLine++if (!ut ...       }!util.c ... i - 1])util.co ... i - 1])mappings[i - 1]i - 1result += ',';result += ','result  ... olumn);result  ... Column)base64V ... Column)base64VLQ.encoderesult  ... ource);result  ... Source)base64V ... Source)this._s ... sSourcepreviou ... ource);previou ... source)result  ... lLine);result  ... alLine)base64V ... alLine)mapping ... ine - 1previou ... ne - 1;previou ... ine - 1result  ... sName);result  ... usName)base64V ... usName)this._n ... ousNamethis._n ... g.name)this._names.indexOfpreviou ... .name);previou ... g.name)aSources.mapaSourceRoot != nullvar key ... ource);key = u ... source)return  ... : null;Object. ...  : nullObject. ...    key)this._s ... ts[key]SourceM ... .toJSONSourceM ... _toJSONvar map ...      };map = { ...       }sources ... Array()names:  ... Array()this._n ... Array()this._names.toArraymapping ... pings()this._s ... pings()this._s ... appingsthis._file != nullmap.fil ... ._file;map.fil ... s._filemap.filemap.sou ... ceRoot;map.sou ... rceRootmap.sourceRootmap.sou ... eRoot);map.sou ... ceRoot)this._g ... ceRoot)this._g ... Contentmap.sourcesreturn map;SourceM ... oStringreturn  ... (this);JSON.stringify(this)"./mapping-list":122125:[fu ... ":127}]define( ... e;\n\n});define( ... de;\n\n}){\n\n  va ... ode;\n\n}var Sou ... erator;SourceM ... nerator./source-map-generator/source-map-generatorvar REG ... r?\n)/;REGEX_N ... \r?\n)/(\r?\n)\r?\n\r?var NEW ... E = 10;NEWLINE_CODE = 10var isS ... de$$$";isSourc ... ode$$$"$$$isSourceNode$$${\n    t ... s);\n  }this.children = [];this.children = []this.childrenthis.so ... s = {};this.so ... ts = {}this.sourceContentsthis.li ...  aLine;this.li ... : aLineaLine = ... : aLineaLine == nullthis.co ... Column;this.co ... aColumnaColumn ... aColumnaColumn == nullthis.so ... Source;this.so ... aSourceaSource ... aSourceaSource == nullthis.na ...  aName;this.na ... : aNameaName = ... : aNameaName == nullthis[is ... = true;this[is ...  = truethis[isSourceNode]if (aCh ... hunks);aChunks != nullthis.add(aChunks);this.add(aChunks)SourceN ... \n    };SourceN ... }\n    }SourceN ... urceMapfromStr ... urceMapvar nod ... Node();node =  ... eNode()new SourceNode()var rem ... WLINE);remaini ... EWLINE)aGenera ... EWLINE)aGeneratedCode.splitvar shi ...      };shiftNe ...       }var lin ... hift();lineCon ... shift()remaini ... shift()remainingLines.shiftvar new ...  || "";newLine ... ) || ""remaini ... ) || ""return  ... ewLine;lineCon ... newLinevar las ... mn = 0;lastGen ... ine = 1lastGen ... umn = 0var las ... = null;lastMapping = nulllastMapping !== nulllastGen ... tedLinevar code = "";code = ""addMapp ... ine());addMapp ... Line())shiftNextLine()lastGeneratedLine++;lastGeneratedLine++lastGen ... mn = 0;var nex ... nes[0];nextLin ... ines[0]remainingLines[0]var cod ... olumn);code =  ... Column)nextLin ... Column)nextLine.substrremaini ... olumn);remaini ... Column)lastGen ... Column;lastGen ... dColumnaddMapp ...  code);addMapp ... , code)lastMap ... apping;lastMap ... mappingnode.ad ... ine());node.ad ... Line())node.addnode.ad ... lumn));node.ad ... olumn))if (rem ...       }remaini ... gth > 0remaini ... .lengthnode.ad ... n(""));node.ad ... in(""))remaini ... oin("")remainingLines.joinif (aRe ...       }aRelati ... != nullnode.se ... ntent);node.se ... ontent)node.se ... Contentreturn node;mapping ... definedmapping === nullnode.add(code);node.add(code)aRelati ... .sourcenode.ad ... name));node.ad ... .name))new Sou ... g.name)SourceN ... s;\n  };SourceN ... is;\n  }SourceN ... ype.addSourceNode.prototypefunctio ... is;\n  }{\n    i ... is;\n  }if (Arr ... ;\n    }Array.i ... aChunk)aChunk. ...  this);aChunk. ... , this)aChunk.forEachthis.add(chunk);this.add(chunk)aChunk[ ... string"aChunk[isSourceNode]typeof aChunkif (aCh ...       }this.ch ... Chunk);this.ch ... aChunk)this.children.pushnew Typ ...       )"Expect ...  aChunk"Expect ... . Got "Expected a SourceNode, string, or an array of SourceNodes and strings. Got Expected a SourceNode, string, or an array of SourceNodes and strings Got SourceN ... prependvar i = ... ength-1i = aChunk.length-1aChunk.length-1aChunk.lengththis.pr ... nk[i]);this.pr ... unk[i])this.prependaChunk[i]this.ch ... unshiftSourceN ...  }\n  };SourceN ...   }\n  }SourceN ... pe.walkvar chunk;len = t ... .lengththis.children.lengthchunk = ... ren[i];chunk = ... dren[i]this.children[i]if (chu ...       }chunk[isSourceNode]chunk.walk(aFn);chunk.walk(aFn)chunk.walkchunk !== ''aFn(chu ... ame });aFn(chu ... name }){ sourc ... .name }source: this.sourceline: this.linecolumn: this.columnname: this.nameSourceN ... pe.join{\n    v ... is;\n  }var newChildren;var i;if (len ... ;\n    }newChildren = [];newChildren = []i < len-1len-1newChil ... en[i]);newChil ... ren[i])newChildren.pushnewChil ... (aSep);newChil ... h(aSep)this.ch ... ildren;this.ch ... hildrenSourceN ... ceRightlastChi ... th - 1]this.ch ... th - 1]this.ch ... gth - 1lastChi ... ceNode]lastChi ... ement);lastChi ... cement)lastChi ... ceRighttypeof lastChildthis.ch ... ement);this.ch ... cement)lastChild.replacethis.ch ... ment));this.ch ... ement))''.repl ... cement)''.replaceSourceN ... ;\n    }SourceN ... Contentthis.so ... eFile)]util.to ... ceFile)SourceN ... ontentsthis.ch ... ceNode]this.ch ... s(aFn);this.ch ... ts(aFn)this.ch ... ontentsvar sou ... tents);sources ... ntents)len = sources.lengthsources.lengthaFn(uti ... s[i]]);aFn(uti ... es[i]])util.fr ... ces[i])util.fromSetStringsources[i]this.so ... ces[i]]SourceN ... r;\n  };SourceN ... tr;\n  }SourceN ... oStringfunctio ... tr;\n  }{\n    v ... tr;\n  }var str = "";this.wa ...     });this.wa ... \n    })this.walkstr += chunk;str += chunkreturn str;SourceN ... };\n  };SourceN ...  };\n  }toStrin ... urceMapvar gen ... \n    };generat ... 0\n    }code: ""line: 1var map ... aArgs);map = n ... (aArgs)new Sou ... (aArgs)var sou ...  false;sourceM ... = falselastOri ...  = nullgenerat ...  chunk;generat ... = chunkgenerated.codeorigina ... == nullif(last ...       }lastOri ... al.namelastOri ... .columnlastOri ... al.linelastOri ... .sourcemap.add ...     });map.add ...      })map.addMappingsource: ... .sourceline: original.lineline: generated.linename: original.namelastOri ... source;lastOri ... l.line;lastOri ... column;lastOri ... l.name;sourceM ... = true;sourceM ...  = truelastOri ... = null;sourceM ...  false;idx < lengthidx++var idx ... .lengthidx = 0chunk.lengthchunk.c ... NE_CODEchunk.c ... At(idx)chunk.charCodeAtgenerated.line++;generated.line++generat ... mn = 0;generated.column = 0if (idx ...       }idx + 1 === lengthidx + 1generated.column++;generated.column++this.wa ... ontentsmap.set ... ntent);map.set ... ontent)map.setSourceContentreturn  ...  map };{ code: ... : map }code: generated.codemap: map{"./sou ... e":127}126:[fu ... ":127}]define( ... s;\n\n});define( ... ns;\n\n})functio ... ons;\n\n}{\n\n  /* ... ons;\n\n}if (aNa ... ;\n    }aName in aArgsreturn aArgs[aName];aArgs[aName]if (arg ... ;\n    }argumen ... h === 3return  ... tValue;throw n ... ent.');new Err ... ment.')'"' + a ... ument.''"' + aName'" is a ... ument.'" is a required argument." is a required argumentexports ... getArg;exports ...  getArgexports.getArgvar url ... \S*)$/;urlRege ... (\S*)$//^(?:([ ... (\S*)$/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$(?:([\w+\-.]+):)?(?:([\w+\-.]+):)([\w+\-.]+):([\w+\-.]+)[\w+\-.]+[\w+\-.](?:(\w+:\w+)@)?(?:(\w+:\w+)@)(\w+:\w+)@(\w+:\w+)\w+:\w+([\w.]*)[\w.]*[\w.](?::(\d+))?(?::(\d+)):(\d+)(\S*)var dat ... \,.+$/;dataUrl ... +\,.+$/^data:.+\,.+$\,var mat ... egexp);match = ... Regexp)aUrl.ma ... Regexp)aUrl.matchif (!ma ... ;\n    }!matchreturn  ... \n    };scheme: match[1]auth: match[2]host: match[3]port: match[4]match[4]path: match[5]match[5]exports ... lParse;exports ... rlParseexports.urlParsefunctio ... rl;\n  }{\n    v ... rl;\n  }var url = '';url = ''if (aPa ... ;\n    }aParsedUrl.schemeurl +=  ...  + ':';url +=  ... e + ':'aParsed ... e + ':'url += '//';url += '//'aParsedUrl.authurl +=  ...  + '@';url +=  ... h + '@'aParsed ... h + '@'aParsedUrl.hosturl +=  ... l.host;url +=  ... rl.hostif (aPa ... t\n    }aParsedUrl.porturl +=  ... rl.port":" + a ... rl.portaParsedUrl.pathurl +=  ... l.path;url +=  ... rl.pathreturn url;exports ... nerate;exports ... enerateexports.urlGeneratefunctio ... th;\n  }{\n    v ... th;\n  }var path = aPath;path = aPathvar url ... aPath);url = u ... (aPath)urlParse(aPath)if (url ... ;\n    }if (!ur ...       }return aPath;path = url.path;path = url.pathvar isA ... = '/');isAbsol ... == '/')(path.c ... == '/')var par ... /\/+/);parts = ... (/\/+/)path.split(/\/+/)\/+var par ... gth - 1part = parts[i];part = parts[i]part === '.'part === '..'if (up  ...       }up > 0part === ''parts.s ... 1, up);parts.s ...  1, up)up = 0;parts.splice(i, 2);parts.splice(i, 2)parts.join('/')if (pat ... ;\n    }path === ''path =  ...  : '.';path =  ... ' : '.'isAbsol ... ' : '.'url.path = path;url.path = pathreturn  ... e(url);urlGenerate(url)return path;exports ... malize;exports ... rmalize{\n    i ... ed;\n  }if (aRo ... ;\n    }aRoot === ""aRoot = ".";aRoot = "."aPath === ""aPath = ".";aPath = "."var aPa ... aPath);aPathUr ... (aPath)var aRo ... aRoot);aRootUr ... (aRoot)urlParse(aRoot)aRoot = ... || '/';aRoot = ...  || '/'aRootUrl.path || '/'aRootUrl.pathaPathUr ... .scheme!aPathUrl.schemeaPathUrl.schemeif (aRo ...       }aPathUr ... scheme;aRootUrl.schemereturn  ... thUrl);urlGene ... athUrl)aPathUr ... Regexp)aPath.m ... Regexp)aPath.matchaRootUr ... rl.pathaRootUr ... rl.host!aRootUrl.hostaRootUrl.host!aRootUrl.pathaRootUr ...  aPath;aRootUr ... = aPathreturn  ... otUrl);urlGene ... ootUrl)var joi ... aPath);joined  ...  aPath)aPath.c ...  aPath)aPath.c ... === '/'aPath.charAt(0)aPath.charAtnormali ...  aPath)aRoot.r ... + aPathaRoot.r ... ) + '/'aRoot.r ... $/, '')aRoot.replace\/+$aRootUr ... joined;aRootUr ...  joinedreturn joined;exports.join = join;exports.join = join{\n    i ... th;\n  }aRoot = ... /, '');aRoot = ... $/, '')\/$var url ... aRoot);url = u ... (aRoot)aPath.c ...  == "/"aPath.c ...  && urlaPath.slice(1)aPath.slicereturn  ...  aPath;aPath.i ... : aPathaPath.i ... ) === 0aPath.i ...  + '/')aPath.indexOfaRoot + '/'aPath.s ... th + 1)aPath.substraRoot.length + 1aRoot.lengthexports ... lative;exports ... elative{\n    r ... tr;\n  }return '$' + aStr;'$' + aStrexports ... String;exports ... tStringexports.toSetStringreturn  ... str(1);aStr.substr(1)aStr.substrfunctio ... 2);\n  }{\n    v ... 2);\n  }var s1  ...  || "";s1 = aStr1 || ""aStr1 || ""var s2  ...  || "";s2 = aStr2 || ""aStr2 || ""return  ...  < s2);(s1 > s ... 1 < s2)(s1 > s2)s1 > s2(s1 < s2)s1 < s2functio ... mn;\n  }{\n    v ... mn;\n  }var cmp;cmp = s ... ource);cmp = s ... source)strcmp( ... source)mappingA.sourcemappingB.sourcecmp = m ... alLine;cmp = m ... nalLinecmp = m ... Column;cmp = m ... lColumncmp ||  ... riginalcmp = s ... .name);cmp = s ... B.name)strcmp( ... B.name)mappingA.namemappingB.namecmp = m ... edLine;cmp = m ... tedLinereturn  ... Column;exports ... itions;exports ... sitionsfunctio ... e);\n  }{\n    v ... e);\n  }cmp = m ... dColumncmp ||  ... nerated127:[fu ... h":53}]functio ... .js")\n}{\n(func ... .js")\n}(functi ... ne.js")(functi ... ne;\n\n})functio ... ine;\n\n}{\n/** v ... ine;\n\n}functio ... fine;\n}{\n    ' ... fine;\n}var def ... equire;defineCache = {}loaderCache = {}already ... = falsevar i, part;ary[i]i+= 1part = ary[i];part = ary[i]ary.splice(i, 1);ary.splice(i, 1)ary.splicei -= 1;i -= 1i === 1 ... = '..')(ary[2] ... = '..')ary[2]  ... == '..'ary[2] === '..'ary[2]ary[0] === '..'ary[0]ary.spl ...  1, 2);ary.splice(i - 1, 2)i -= 2;i -= 2var baseParts;name && ... === '.'name.ch ... === '.'name.charAt(0)name.charAtif (bas ...       }basePar ... t('/');basePar ... it('/')baseName.split('/')baseName.splitbasePar ... h - 1);basePar ... th - 1)baseParts.slicebaseParts.length - 1baseParts.lengthbasePar ... ('/'));basePar ... t('/'))baseParts.concatname.split('/')name.splittrimDots(baseParts);trimDots(baseParts)name =  ... n('/');name =  ... in('/')baseParts.join('/')baseParts.joinreturn name;return  ... lName);normali ... elName)loaderC ...  value;loaderC ... = valueloaderCache[id]load.fr ...      };load.fr ...       }load.fromTextthrow n ... Text');new Err ... mText')'amdefi ... omText'amdefine does not implement load.fromTextamdefine does not implement loadreturn load;makeReq ... \n    };makeReq ... ;\n    }typeof depsreturn  ... relId);stringR ...  relId)deps =  ...     });deps =  ...      })deps.ma ...      })deps.mapcallbac ...  deps);callbac ... , deps)callback.applyamdRequ ...      };amdRequ ...       }amdRequire.toUrlfilePat ... ) === 0filePat ... Of('.')filePath.indexOfnormali ... ename))path.di ... lename)module.filenamereturn filePath;return amdRequire;require ... \n    };require ... ;\n    }module. ... uments)module.require.applymodule.requirevar r, e, m, result;if (id) ...       }e = loa ... ] = {};e = loa ... d] = {}loaderCache[id] = {}m = {\n  ...      };m = {\n  ...       }id: iduri: __filenameexports: er = mak ... m, id);r = mak ...  m, id)makeReq ...  m, id)throw n ... ile.');new Err ... file.')'amdefi ...  file.'amdefine with no module ID cannot be called more than once per file.amdefine with no module ID cannot be called more than once per filealreadyCalled = truee = module.exports;e = module.exportsm = module;m = moduler = mak ... le.id);r = mak ... ule.id)makeReq ... ule.id)module.idif (dep ...       }return r(depName);r(depName)typeof factoryresult  ...  deps);result  ... , deps)factory ... , deps)factory.applym.exportsresult = factory;result = factoryresult !== undefinedm.exports = result;m.exports = resultloaderC ... xports;loaderC ... exportsstringR ... \n    };stringR ... }\n    }var ind ... plugin;index = ... Of('!')id.indexOf('!')id.indexOforiginalId = idindex === -1id = no ... relId);id = no ...  relId)normalize(id, relId)if (id  ...       }id === 'require'makeReq ...  relId)id === 'exports'return exports;id === 'module'return module;if (loa ...       }loaderC ... rty(id)loaderC ... ropertyreturn  ... he[id];if (def ...       }defineCache[id]runFact ... e[id]);runFact ... he[id])runFactory.applyif(syst ...       }return  ... nalId);systemR ... inalId)throw n ...  + id);new Err ... ' + id)'No mod ...  ' + id'No mod ... h ID: 'No module with ID: prefix  ... index);prefix  ...  index)id.subs ...  index)id.substringid = id ... ength);id = id ... length)id.subs ... length)id.lengthplugin  ... relId);plugin  ...  relId)if (plu ...       }plugin.normalizeid = pl ... elId));id = pl ... relId))plugin. ... relId))makeNormalize(relId)plugin. ... ), {});plugin. ... d), {})plugin.loadmakeLoad(id)if (Arr ...       }Array.isArray(id)factory = deps;factory = depsdeps = id;deps = idid = undefined;id = undefinedtypeof idfactory = id;factory = idid = de ... efined;id = de ... defineddeps = undefineddeps && ... y(deps)!Array.isArray(deps)Array.isArray(deps)deps = undefined;if (!de ...       }!depsdeps =  ... dule'];deps =  ... odule']['requi ... odule']defineC ... ctory];defineC ... actory][id, deps, factory]runFact ... ctory);runFact ... actory)define. ... \n    };define. ... }\n    }define.requiredefine.amd = {};define.amd = {}return define;module. ... define;module. ... mdefine"/../no ... ine.js"/../node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine{"_proc ... th":53}[1]/opt/src/docs/browser-bugs.html{{ site.baseurl }}/getting-started/#supporthttps://code.google.com/p/chromium/issues/detail?id=536263https://bugzilla.mozilla.org/show_bug.cgi?id=1230801https://bugs.webkit.org/show_bug.cgi?id=159753https://docs.google.com/document/d/1LPaPA30bLUB_publLIMF0RlhdnPx_ePXm7oW02iiT6obs-docs-browser-bugs table table-bordered table-hovermost-wanted/opt/src/docs/components.html/opt/src/docs/css.html/opt/src/docs/customize.html'Customize''Customize and Download'ga('sen ... load');ga('sen ... nload')Customize'Custom ... wnload'Customize and Download<!-- less.js isn't IE8-compatible and throws an exception during initialization, so our Blob compatibility check and error messaging code never get called in that case.
  So we use a conditional comment instead to inform folks about the lack of IE8 support.
--><!--[if lt IE 9]>
  <style>
    .bs-customizer,
    .bs-customizer-import,
    .bs-docs-sidebar {
      display: none;
    }
  </style>
  <div class="alert alert-danger">
    <strong>The Bootstrap Customizer does not support IE9 and below.</strong><br>
    Please take a second to <a href="http://browsehappy.com/">upgrade to a more modern browser</a>.
  </div>
<![endif]--><!-- Customizer form -->bs-docs-section bs-customizer-importimport-drop-targetbs-dropzoneimport-headerglyphicon glyphicon-download-altimport-manual-triggerbtn-linkimport-file-select<!-- /download -->bs-customizerless-sectionbtn btn-default toggle<!-- .col-xs-6 .col-sm-4 -->print.lesstype.lesscode.lessgrid.lesstables.lessforms.lessnavbar.less,input-groups.lessbuttons.lessbutton-groups.lessresponsive-utilities.lessglyphicons.lessinput-groups.lessnavs.lessnavbar.lessforms.less,navs.lessbreadcrumbs.lesspagination.lesspager.lesslabels.lessbadges.lessjumbotron.lessthumbnails.lessalerts.lessprogress-bars.lessmedia.lesslist-group.lesspanels.lessresponsive-embed.lesswells.lessclose.lesscomponent-animations.lessdropdowns.lesstooltip.lesspopovers.lessmodals.lesscarousel.lessplugin-sectionalert.jsbutton.jscarousel.jsdropdown.jsmodal.jstooltip.jspopover.jstab.jsaffix.jscollapse.jsscrollspy.jstransition.jshttp://jquery.com/less-variables-sectionbtn-compilebtn btn-block btn-lg btn-outlinega('send', 'event', 'Customize', 'Download', 'Customize and Download');/opt/src/docs/dist/js/npm.js/opt/src/docs/dist/js/opt/src/docs/dist/opt/src/docs/examples/blog/index.html/opt/src/docs/examples/blog/opt/src/docs/examples'<script src="../../assets/js/vendor/jquery.min.js"><\/script>'<script src="../../assets/js/vendor/jquery.min.js"></script><!-- Custom styles for this template --><!-- Just for debugging purposes. Don't actually copy these 2 lines! --><!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->../../favicon.ico../../dist/css/bootstrap.min.css../../assets/css/ie10-viewport-bug-workaround.cssblog.css../../assets/js/ie-emulation-modes-warning.js<!-- /.container --><!-- Bootstrap core JavaScript
    ================================================== -->blog-mastheadblog-navblog-nav-item activeblog-nav-itemblog-headerblog-titlelead blog-description<!-- /.blog-main --><!-- /.blog-sidebar --><!-- /.blog-post -->col-sm-8 blog-mainblog-postblog-post-titleblog-post-metacol-sm-3 col-sm-offset-1 blog-sidebarsidebar-module sidebar-module-insetsidebar-moduleblog-footer../../dist/js/bootstrap.min.js../../assets/js/ie10-viewport-bug-workaround.js/opt/src/docs/examples/carousel/index.html/opt/src/docs/examples/carousel<!-- NAVBAR
================================================== -->carousel.css<!-- Carousel
    ================================================== --><!-- /.carousel --><!-- Marketing messaging and featurettes
    ================================================== --><!-- Wrap the rest of the page in another container to center all the content. --><!-- Just to make our placeholder images work. Don't actually copy the next line! -->navbar-wrappernavbar navbar-inverse navbar-static-topnavbar-collapse collapse#about#contactmyCarousel#myCarouselfirst-slidedata:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==second-slidethird-slide<!-- Three columns of text below the carousel --><!-- START THE FEATURETTES --><!-- /END THE FEATURETTES --><!-- FOOTER -->container marketing<!-- /.col-lg-4 -->col-lg-4140featurette-dividerrow featurettecol-md-7featurette-headingcol-md-5featurette-image img-responsive center-blockholder.js/500x500/autocol-md-7 col-md-push-5col-md-5 col-md-pull-7../../assets/js/vendor/holder.min.js/opt/src/docs/examples/cover/index.html/opt/src/docs/examples/covercover.csssite-wrappersite-wrapper-innercover-containermasthead clearfixinnermasthead-brandnav masthead-navinner covercover-headingbtn btn-lg btn-defaultmastfoot/opt/src/docs/examples/dashboard/index.html/opt/src/docs/examples/dashboarddashboarddashboard.cssnavbar navbar-inverse navbar-fixed-topnavbar-form navbar-rightcol-sm-3 col-md-2 sidebarnav nav-sidebarcol-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 mainrow placeholderscol-xs-6 col-sm-3 placeholdersub-header/opt/src/docs/examples/grid/index.html/opt/src/docs/examples/gridgrid.css<!-- /container -->col-xs-12 col-sm-6 col-lg-8col-sm-6 col-lg-4http://getbootstrap.com/css/#grid-responsive-resets/opt/src/docs/examples/jumbotron/index.html/opt/src/docs/examples/jumbotronjumbotron.css<!-- Main jumbotron for a primary marketing message or call to action --><!--/.navbar-collapse --><!-- Example row of columns -->/opt/src/docs/examples/jumbotron-narrow/index.html/opt/src/docs/examples/jumbotron-narrowjumbotron-narrowjumbotron-narrow.cssheader clearfixnav nav-pills pull-rightbtn btn-lg btn-successrow marketing/opt/src/docs/examples/justified-nav/index.html/opt/src/docs/examples/justified-navjustified-navjustified-nav.css<!-- The justified navigation menu is meant for single line per list item.
           Multiple lines will require custom code not provided by Bootstrap. --><!-- Jumbotron --><!-- Site footer -->mastheadnav nav-justified/opt/src/docs/examples/navbar/index.html/opt/src/docs/examples/navbarnavbar.css<!-- Static navbar --><!-- Main component for a primary marketing message or call to action --><!--/.container-fluid --><!--/.nav-collapse -->./../navbar-static-top/../navbar-fixed-top/../../components/#navbar/opt/src/docs/examples/navbar-fixed-top/index.html/opt/src/docs/examples/navbar-fixed-topnavbar-fixed-top.css<!-- Fixed navbar -->../navbar//opt/src/docs/examples/navbar-static-top/index.html/opt/src/docs/examples/navbar-static-topnavbar-static-top.css/opt/src/docs/examples/non-responsive/index.html/opt/src/docs/examples/non-responsivenon-responsive<!-- The above 2 meta tags *must* come first in the head; any other head content must come *after* these tags --><!-- Note there is no responsive meta tag here -->non-responsive.css<!-- Note that the .navbar-collapse and .collapse classes have been removed from the #navbar --><!-- The mobile navbar-toggle button can be safely removed since you do not need it in a non-responsive implementation -->http://getbootstrap.com/getting-started/#disable-responsive/opt/src/docs/examples/offcanvas/index.html/opt/src/docs/examples/offcanvasoffcanvasoffcanvas.css<!-- /.navbar --><!--/.container-->navbar navbar-fixed-top navbar-inverse<!--/row--><!--/.col-xs-12.col-sm-9--><!--/.sidebar-offcanvas-->row row-offcanvas row-offcanvas-rightcol-xs-12 col-sm-9pull-right visible-xs<!--/.col-xs-6.col-lg-4-->col-xs-6 col-lg-4col-xs-6 col-sm-3 sidebar-offcanvasoffcanvas.js/opt/src/docs/examples/offcanvas/offcanvas.js'[data-toggle="offcanvas"]''.row-offcanvas'$(docum ... });\n});$(docum ...  });\n})$(document).ready$(document){\n  $(' ...   });\n}$('[dat ... )\n  });$('[dat ... ')\n  })$('[dat ... ).click$('[dat ... vas"]')'[data- ... nvas"]'[data-toggle="offcanvas"]functio ... e')\n  }{\n    $ ... e')\n  }$('.row ... ctive')$('.row ... leClass$('.row-offcanvas').row-offcanvasrow-offcanvas/opt/src/docs/examples/signin/index.html/opt/src/docs/examples/signinsigninsignin.cssform-signinform-signin-headinginputEmailEmail addressremember-mebtn btn-lg btn-primary btn-block/opt/src/docs/examples/starter-template/index.html/opt/src/docs/examples/starter-templatestarter-templatestarter-template.css/opt/src/docs/examples/sticky-footer/index.html/opt/src/docs/examples/sticky-footersticky-footersticky-footer.css<!-- Begin page content -->../sticky-footer-navbar/opt/src/docs/examples/sticky-footer-navbar/index.html/opt/src/docs/examples/sticky-footer-navbarsticky-footer-navbarsticky-footer-navbar.css../sticky-footer/opt/src/docs/examples/theme/index.html/opt/src/docs/examples/theme<!-- Bootstrap theme -->../../dist/css/bootstrap-theme.min.csstheme.csscontainer theme-showcasebtn btn-lg btn-infobtn btn-lg btn-warningbtn btn-lg btn-linkbtn btn-sm btn-defaultbtn btn-sm btn-primarybtn btn-sm btn-successbtn btn-sm btn-infobtn btn-sm btn-warningbtn btn-sm btn-dangerbtn btn-sm btn-linkbtn btn-xs btn-defaultbtn btn-xs btn-primarybtn btn-xs btn-successbtn btn-xs btn-infobtn btn-xs btn-warningbtn btn-xs btn-dangerbtn btn-xs btn-linkrowspanholder.js/200x200dropdown theme-dropdown clearfixsr-only dropdown-toggle.navbar-collapse<!-- /.col-sm-4 -->holder.js/1140x500/auto/#777:#555/text:First slideholder.js/1140x500/auto/#666:#444/text:Second slideholder.js/1140x500/auto/#555:#333/text:Third slide../../assets/js/docs.min.js/opt/src/docs/examples/tooltip-viewport/index.html/opt/src/docs/examples/tooltip-viewporttooltip-viewportshortcut icon../../assets/ico/favicon.icotooltip-viewport.cssbtn btn-default pull-right tooltip-bottomThis should be shifted to the leftbtn btn-default tooltip-bottomThis should be shifted to the rightbtn btn-default tooltip-rightThis should be shifted downbtn btn-default tooltip-right btn-bottomThis should be shifted upcontainer-viewportbtn btn-default tooltip-viewport-bottombtn btn-default tooltip-viewport-rightbtn btn-default pull-right tooltip-viewport-bottombtn btn-default tooltip-viewport-right btn-bottomtooltip-viewport.js/opt/src/docs/examples/tooltip-viewport/tooltip-viewport.js'.tooltip-right''.tooltip-bottom''.tooltip-viewport-right''.container-viewport''.tooltip-viewport-bottom'$(docum ...   })\n})functio ... \n  })\n}{\n  $(' ... \n  })\n}$('.too ... 2}\n  })$('.tooltip-right').tooltip-righttooltip-right{\n    p ...  2}\n  }placement: 'right'viewpor ... ing: 2}{select ... ing: 2}selector: 'body'padding: 2$('.tooltip-bottom').tooltip-bottomtooltip-bottomplacement: 'bottom'$('.too ... right')'.toolt ... -right'.tooltip-viewport-righttooltip-viewport-rightselecto ... ewport''.conta ... ewport'.container-viewport$('.too ... ottom')'.toolt ... bottom'.tooltip-viewport-bottomtooltip-viewport-bottom/opt/src/docs/getting-started.html<!-- Cross link to new migration page -->{{ site.baseurl }}/migration/opt/src/docs/index.html'Jumbotron actions''Download {{ site.current_version }}'ga('sen ... n }}');ga('sen ... on }}')Jumbotron actions'Downlo ... ion }}'Download {{ site.current_version }}bs-docs-mastheadbs-docs-booticon bs-docs-booticon-lg bs-docs-booticon-outlinegetting-started#downloadbtn btn-outline-inverse btn-lgga('send', 'event', 'Jumbotron actions', 'Download', 'Download {{ site.current_version }}');bs-docs-featurettebs-docs-featurette-titlehalf-ruleassets/img/sass-less.pngSass and Less support{{ site.baseurl }}/css/#less{{ site.baseurl }}/css/#sassassets/img/devices.pngResponsive across devicesassets/img/components.pngbtn btn-outline btn-lgimg-fluid mx-auto{{ site.baseurl }}/assets/img/bs-themes.pngBootstrap Themes388row bs-docs-featured-sites{{ showcase.expo_url }}{{ showcase.name }}{{ site.baseurl }}/assets/img/expo-{{ showcase.img }}.jpg/opt/src/docs/javascript.html/opt/src/docs/migration.html<!-- Migration
================================================== -->http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/classesdropped{{ site.baseurl }}/css/#forms-controls{{ site.baseurl }}/components/#list-grouphttp://twitter.github.io/typeahead.js/http://bootply.com//opt/src/grunt/bs-commonjs-generator.jsbs-commonjs-generator/opt/src/grunt!
 * Bootstrap Grunt task for the CommonJS module generation
 * http://getbootstrap.com
 * Copyright 2014-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 COMMONJS_BANNER'// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n'destDirsrcPathToDestRequiresrcFilepathrequirePath'require(\'''\')'moduleOutputJs'File 'cyan' created.'var COM ... nt.\n';COMMONJ ... ent.\n''// Thi ... ent.\n'// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
// This file is autogenerated via the `commonjs` Grunt task You can require this file in a CommonJS environmentmodule. ... .');\n};module. ... d.');\n}functio ... d.');\n}{\n  var ... d.');\n}var des ... epath);destDir ... lepath)path.di ... lepath)functio ... )';\n  }{\n    v ... )';\n  }var req ... , '/');require ... g, '/')path.re ... g, '/')path.re ... replacepath.re ... lepath)return  ...  '\')';'requir ... + '\')''requir ... irePathrequire('')var mod ... ('\n');moduleO ... n('\n')COMMONJ ... n('\n')srcFile ... n('\n')srcFile ... e).joinsrcFile ... equire)srcFiles.maptry {\n  ... r);\n  }{\n    f ... s);\n  }fs.writ ... putJs);fs.writ ... tputJs)catch ( ... r);\n  }{\n    g ... r);\n  }grunt.f ... n(err);grunt.fail.warn(err)grunt.fail.warngrunt.failgrunt.l ... ted.');grunt.l ... ated.')grunt.log.writelngrunt.log'File ' ... eated.''File ' ... th.cyanFile destFilepath.cyan created. created/opt/src/grunt/bs-glyphicons-data-generator.jsbs-glyphicons-data-generator!
 * Bootstrap Grunt task for Glyphicons data generation
 * http://getbootstrap.com
 * Copyright 2014-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  Pass encoding, utf8, so `readFileSync` will return a string instead of a// Pass ... ad of a buffer// buffer Use any line that starts with ".glyphicon-" and capture the class name// Use  ... ss name Create the `_data` directory if it doesn't already exist// Crea ... y existglyphiconsFile'less/glyphicons.less'glyphiconsLinesiconClassName/^\.(glyphicon-[a-zA-Z0-9-]+)/glyphiconsData'# This file is generated via Grunt task. **Do not edit directly.**\n''# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n'glyphiconsYml'docs/_data/glyphicons.yml''- ''docs/_data'{\n  //  ... d.');\n}var gly ... utf8');glyphic ... 'utf8')fs.read ... 'utf8')'less/g ... s.less'less/glyphicons.lessless/glyphiconsvar gly ... ('\n');glyphic ... t('\n')glyphiconsFile.splitvar ico ... 9-]+)/;iconCla ... -9-]+)//^\.(gl ... -9-]+)/^\.(glyphicon-[a-zA-Z0-9-]+)(glyphicon-[a-zA-Z0-9-]+)glyphicon-[a-zA-Z0-9-]+glyphicon-[a-zA-Z0-9-]+[a-zA-Z0-9-]var gly ... .\n\n';glyphic ... s.\n\n''# This ... s.\n\n''# This ... y.**\n'# This file is generated via Grunt task. **Do not edit directly.**
'# See  ... s.\n\n'# See the 'build-glyphicons-data' task in Gruntfile.js.

# See the 'build-glyphicons-data' task in Gruntfilevar gly ... s.yml';glyphic ... ns.yml''docs/_ ... ns.yml'docs/_data/glyphicons.ymldocs/_data/glyphiconslen = g ... .lengthglyphic ... .lengthvar mat ... sName);match = ... ssName)glyphic ... ssName)glyphic ... ].matchglyphiconsLines[i]if (mat ... ;\n    }match !== nullglyphic ... + '\n';glyphic ...  + '\n''- ' +  ...  + '\n''- ' + match[1]- if (!fs ... ');\n  }!fs.exi ... _data')fs.exis ... _data')docs/_data{\n    f ... ');\n  }fs.mkdi ... data');fs.mkdi ... _data'){\n    f ... a);\n  }fs.writ ... sData);fs.writ ... nsData)'File ' ... ml.cyanglyphiconsYml.cyan/opt/src/grunt/bs-lessdoc-parser.jsbs-lessdoc-parser!
 * Bootstrap Grunt task for parsing Less docstrings
 * http://getbootstrap.com
 * Copyright 2014-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  the slice removes the <p>...</p> wrapper output by Markdown processor// the  ... ocessor
Mini-language:
  //== This is a normal heading, which starts a section. Sections group variables together.
  //## Optional description for the heading

  //=== This is a subheading.

  //** Optional description for the following variable. You **can** use Markdown in descriptions to discuss `<html>` stuff.
  @foo: #fff;

  //-- This is a heading for a section whose variables shouldn't be customizable

  All other lines are ignored completely.
/*\nMini ... ely.\n*/ returning null signals EOF// retu ... als EOF returning undefined means the line was ignored// retu ... ignored Presume an implicit initial subsection// Pres ... section Ignore lone empty implicit subsection// Igno ... sectionMarkdown'markdown-it'markdown2htmlmarkdownStringmdrenderCUSTOMIZABLE_HEADING/^[/]{2}={2}(.*)$/UNCUSTOMIZABLE_HEADING/^[/]{2}-{2}(.*)$/SUBSECTION_HEADING/^[/]{2}={3}(.*)$/SECTION_DOCSTRING/^[/]{2}#{2}(.+)$/VAR_ASSIGNMENT/^(@[a-zA-Z0-9_-]+):[ ]*([^ ;][^;]*);[ ]*$/VAR_DOCSTRING/^[/]{2}[*]{2}(.+)$/Sectioncustomizable/\s+/gdocstringsubsectionsaddSubSectionsubsectionSubSectionaddVarvariableVarDocstringSectionDocstringVariableTokenizer_lines_next'Attempted to unshift twice!'_shiftcommentStartvarLine_tokenizerparseSection'Unexpected unparsed section of file remains!''Expected section heading; got: 'parseSubSectionsparseSubSectionparseVarsparseVarvar Mar ... n-it');Markdow ... wn-it')require ... wn-it')markdown-itfunctio ...  -5);\n}{\n  var ...  -5);\n}var md  ... down();md = new Markdown()new Markdown()return  ... 3, -5);md.rend ... (3, -5)md.rend ... ).slicemd.rend ... trim())md.rendermarkdow ... .trim()markdownString.trim-5var CUS ... (.*)$/;CUSTOMI ... }(.*)$/^[/]{2}={2}(.*)$[/]{2}[/]={2}var UNC ... (.*)$/;UNCUSTO ... }(.*)$/UNCUSTO ... HEADING^[/]{2}-{2}(.*)$-{2}var SUB ... (.*)$/;SUBSECT ... }(.*)$/^[/]{2}={3}(.*)$={3}var SEC ... (.+)$/;SECTION ... }(.+)$/^[/]{2}#{2}(.+)$#{2}var VAR ... [ ]*$/;VAR_ASS ... ;[ ]*$//^(@[a- ... ;[ ]*$/^(@[a-zA-Z0-9_-]+):[ ]*([^ ;][^;]*);[ ]*$(@[a-zA-Z0-9_-]+)@[a-zA-Z0-9_-]+[a-zA-Z0-9_-]+[a-zA-Z0-9_-][ ]*[ ]([^ ;][^;]*)[^ ;][^;]*[^ ;][^;]*[^;]var VAR ... (.+)$/;VAR_DOC ... }(.+)$/^[/]{2}[*]{2}(.+)$[*]{2}[*]functio ... = [];\n}{\n  thi ... = [];\n}this.he ... trim();this.he ... .trim()this.headingheading.trim()heading.trimthis.id ... Case();this.id ... rCase()this.he ... rCase()this.he ... werCasethis.he ... g, '-')this.heading.replacethis.cu ... izable;this.cu ... mizablethis.customizablethis.do ... = null;this.do ...  = nullthis.docstringthis.su ... s = [];this.su ... ns = []this.subsectionsSection ... on);\n};Section ... ion);\n}Section ... SectionSection.prototypefunctio ... ion);\n}{\n  thi ... ion);\n}this.su ... ction);this.su ... ection)this.su ... ns.pushthis.variables = [];this.variables = []this.variablesSubSect ... le);\n};SubSect ... ble);\n}SubSect ... .addVarSubSection.prototypefunctio ... ble);\n}{\n  thi ... ble);\n}this.va ... iable);this.va ... riable)this.variables.pushfunctio ... ing);\n}{\n  thi ... ing);\n}this.ht ... tring);this.ht ... String)this.htmlmarkdow ... String)functio ... null;\n}{\n  thi ... null;\n}this.name = name;this.name = namethis.de ... tValue;this.de ... ltValuethis.defaultValuefunctio ... ined;\n}{\n  thi ... ined;\n}this._l ... ('\n');this._l ... t('\n')this._linesfileCon ... t('\n')fileContent.splitthis._n ... efined;this._n ... definedthis._nextTokeniz ... ken;\n};Tokeniz ... oken;\n}Tokeniz ... unshiftTokenizer.prototypefunctio ... oken;\n}{\n  if  ... oken;\n}if (thi ... ');\n  }throw n ... ice!');new Err ... wice!')'Attemp ... twice!'Attempted to unshift twice!this._next = token;this._next = tokenTokeniz ... ned;\n};Tokeniz ... ined;\n}Tokeniz ... ._shift{\n  //  ... ined;\n}if (thi ... lt;\n  }{\n    v ... lt;\n  }var res ... ._next;result = this._nextif (thi ... ll;\n  }this._l ... th <= 0this._lines.length{\n    r ... ll;\n  }line =  ... shift()this._lines.shift()this._lines.shiftvar match = null;match = nullmatch = ... (line);match = ... c(line)SUBSECT ... c(line)SUBSECT ... NG.execif (mat ... ]);\n  }{\n    r ... ]);\n  }return  ... ch[1]);new Sub ... tch[1])CUSTOMI ... c(line)CUSTOMI ... NG.execif (mat ... e);\n  }{\n    r ... e);\n  }new Sec ... , true)UNCUSTO ... c(line)UNCUSTO ... NG.execreturn  ... false);new Sec ...  false)SECTION ... c(line)SECTION ... NG.execnew Sec ... tch[1])VAR_DOC ... c(line)VAR_DOCSTRING.execnew Var ... tch[1])var com ... ('//');comment ... f('//')line.la ... f('//')line.lastIndexOfvar var ... Start);varLine ... tStart)comment ... tStart)commentStart === -1line.sl ... tStart)line.slicematch = ... rLine);match = ... arLine)VAR_ASS ... arLine)VAR_ASSIGNMENT.execreturn  ... ch[2]);new Var ... tch[2])Tokeniz ... \n  }\n};Tokeniz ... ;\n  }\n}Tokeniz ... e.shiftfunctio ... ;\n  }\n}{\n  whi ... ;\n  }\n}while ( ... lt;\n  }var res ... hift();result  ... shift()this._shift()this._shiftif (res ... ;\n    }result === undefinedfunctio ... ent);\n}{\n  thi ... ent);\n}this._t ... ntent);this._t ... ontent)this._tokenizernew Tok ... ontent)Parser. ... \n  }\n};Parser. ... ;\n  }\n}Parser. ... rseFile{\n  var ... ;\n  }\n}var sections = [];sections = []while ( ... n);\n  }{\n    v ... n);\n  }var sec ... tion();section ... ction()this.parseSection()this.parseSectionif (sec ... ;\n    }section === nullthis._t ... == nullthis._t ... shift()this._t ... r.shiftthrow n ... ins!');new Err ... ains!')'Unexpe ... mains!'Unexpected unparsed section of file remains!return sections;section ... ction);section ... ection)sections.pushParser. ... ion;\n};Parser. ... tion;\n}Parser. ... Section{\n  var ... tion;\n}var sec ... hift();section ... shift()if (sec ... ll;\n  }if (!(s ... ));\n  }!(secti ... ection)(sectio ... ection)section ... Section{\n    t ... ));\n  }throw n ... tion));new Err ... ction))'Expect ... ection)'Expect ...  got: 'Expected section heading; got: JSON.st ... ection)var doc ... hift();docstri ... shift()if (doc ... g);\n  }docstri ... cstring{\n    s ... ng;\n  }section ... string;section ... cstringsection.docstring{\n    t ... g);\n  }this._t ... tring);this._t ... string)this._t ... unshiftthis.pa ... ction);this.pa ... ection)this.pa ... ectionsreturn section;Parser. ... ectionsvar sub ... tion();subsect ... ction()this.pa ... ction()this.parseSubSectionif (sub ... }\n    }subsection === nullsection ... h === 0section.subsectionssubsect ... on('');subsect ... ion('')new SubSection('')this.parseVarsif (sec ... [];\n  }section ... headingsection ... h === 1!sectio ... headingsection ... ions[0]section ... riables{\n    / ... [];\n  }section ... s = [];section ... ns = []Parser. ... ull;\n};Parser. ... null;\n}{\n  var ... null;\n}var sub ... hift();subsect ... shift()if (sub ... on;\n  }subsect ... Section{\n    t ... on;\n  }return subsection;this._t ... ction);this._t ... ection)Parser. ... rseVarswhile ( ... e);\n  }var var ... eVar();variabl ... seVar()this.parseVar()this.parseVarif (var ... ;\n    }variable === nullsubsect ... iable);subsect ... riable)subsection.addVarParser. ... arseVarif (!(d ... ll;\n  }!(docst ... string)(docstr ... string){\n    t ... ll;\n  }docstring = null;docstring = nullvar var ... hift();variabl ... shift()if (var ... le;\n  }variabl ... ariablevariabl ... string;variabl ... cstringvariable.docstringreturn variable;this._t ... iable);this._t ... riable)/opt/src/grunt/bs-raw-files-generator.jsbs-raw-files-generator!
 * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
 * http://getbootstrap.com
 * Copyright 2014-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 'btoa'glob'glob'getFilesglobExpr'/**/*''/*''\\.'relativePath/^[^/]+\//'var __'' = 'generateRawFilesJscombinedrawFilesJs'docs/assets/js/raw-files.min.js'var bto ... btoa');btoa =  ... 'btoa')require('btoa')var glo ... glob');glob =  ... 'glob')require('glob')functio ... '\n';\n}{\n  var ... '\n';\n}var files = {};files = {}var rec ... 'less';recursi ...  'less'type === 'less'var glo ... : '/*';globExp ...  : '/*'recursi ...  : '/*'/**/*glob.sy ...     });glob.sy ... \n    })glob.sy ... forEachglob.sy ... .filterglob.sy ... obExpr)glob.synctype + globExprreturn  ... (path);type == ... t(path)type === 'fonts'new Reg ... t(path)new Reg ... ').testnew Reg ...  + '$')'\\.' + type + '$''\\.' + typevar rel ... /, '');relativ ... //, '')fullPat ... //, '')fullPath.replace^[^/]+\/[^/]+[^/]files[r ... utf8');files[r ... 'utf8')files[relativePath]type == ... 'utf8')btoa(fs ... lPath))fs.read ... llPath)return  ... + '\n';'var __ ...  + '\n''var __ ... (files)'var __ ... + ' = ''var __' + typevar __ = JSON.st ... (files){\n  if  ... d.');\n}if (!ba ... '';\n  }!banner{\n    b ... '';\n  }banner = '';banner = ''var dir ... onts'];dirs =  ... fonts']['js',  ... fonts']var fil ... }, '');files = ...  }, '')banner  ...  }, '')dirs.ma ...  }, '')dirs.ma ... .reducedirs.map(getFiles)dirs.map{\n    r ... le;\n  }return  ... + file;combined + filevar raw ... in.js';rawFile ... min.js'docs/assets/js/raw-files.min.jsdocs/assets/js/raw-filesfs.writ ... files);fs.writ ...  files)'File ' ... Js.cyanrawFilesJs.cyan/opt/src/grunt/change-version.jschange-version globals Set /* globals Set */!
 * Script to update version number references in the project.
 * Copyright 2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37// Blam ... sues/37 This extension whitelist is how we avoid modifying binary files// This ... y files'shelljs'sedquoteReplacement/[$]/g'$$'DRY_RUNwalkAsyncexcludedDirectoriesfileCallbackerrbackfilepathreplaceRecursivelyallowedExtensionsreplacementupdateFile'-i''FILE: ''EXCLUDED:''ERROR while traversing directory!:''USAGE: change-version old_version new_version''Got arguments:'EXCLUDED_DIRS'.git''node_modules''vendor'INCLUDED_EXTENSIONS'.html''.js''.json''.less''.md''.nuspec''.ps1''.scss''.txt''.yml'var sh  ... lljs');sh = re ... elljs')require('shelljs')shelljssh.conf ... = true;sh.conf ...  = truesh.config.fatalsh.configvar sed = sh.sed;sed = sh.sedsh.sedRegExp. ... &');\n};RegExp. ... $&');\n}functio ... $&');\n}{\n  ret ... $&');\n}RegExp. ... $');\n};RegExp. ... $$');\n}RegExp. ... acementfunctio ... $$');\n}{\n  ret ... $$');\n}return  ...  '$$');string. ... , '$$')[$]$$var DRY_RUN = false;DRY_RUN = false{\n  if  ...   });\n}if (exc ... rn;\n  }exclude ... ).base)exclude ... ies.haspath.pa ... y).basepath.pa ... ectory){\n    return;\n  }fs.read ... ;\n  });fs.read ... );\n  }){\n    i ... });\n  }if (err ... ;\n    }errback(err);errback(err)names.f ...     });names.f ... \n    })names.forEachvar fil ...  name);filepat ... , name)path.jo ... , name)fs.lsta ...     });fs.lsta ...      })if (err ...       }process ... , err);process ... k, err)if (sta ...       }stats.i ... cLink()stats.isSymbolicLinkstats.isDirectory()stats.isDirectoryprocess ... rback);process ... rrback)stats.isFile()stats.isFileprocess ... epath);process ... lepath){\n  ori ...   });\n}origina ... , 'g');origina ... ), 'g')RegExp. ... iginal)replace ... ement);replace ... cement)RegExp. ... cement)var upd ...  }\n  };updateF ...   }\n  }!DRY_RU ...   }\n  }!DRY_RUNif (all ... ;\n    }allowed ... h).ext)allowed ... ons.haspath.pa ... th).extpath.parse(filepath)sed('-i ... epath);sed('-i ... lepath)-iconsole ... epath);console ... lepath)'FILE: ' + filepathFILE: 'EXCLUD ... ilepathEXCLUDED:walkAsy ... ;\n  });walkAsy ... );\n  }){\n    c ... 1);\n  }console ... ry!:');console ... ory!:')console.error'ERROR  ... tory!:'ERROR while traversing directory!:console.error(err);console.error(err)process.exit(1);process.exit(1)process.exit{\n  if  ... ion);\n}if (arg ... 1);\n  }args.length !== 2args.lengthconsole ... sion');console ... rsion')'USAGE: ... ersion'USAGE: change-version old_version new_versionconsole ...  args);console ... , args)Got arguments:var old ... rgs[0];oldVersion = args[0]args[0]var new ... rgs[1];newVersion = args[1]args[1]var EXC ... '\n  ]);EXCLUDE ... r'\n  ])new Set ... r'\n  ])[\n    ' ... or'\n  ].gitvar INC ... '\n  ]);INCLUDE ... l'\n  ])new Set ... l'\n  ])[\n    / ... ml'\n  ].html.js.json.less.md.nuspecnuspec.ps1ps1.scss.txt.ymlreplace ... rsion);replace ... ersion)main(pr ... ce(2));main(pr ... ice(2))process ... lice(2)process.argv.slice/opt/src/grunt/sauce_browsers.ymlsauce_browsersbrowserNameOS X 10.10"OS X 10.10"internet explorer"internet explorer"Windows 8.1"Windows 8.1"Windows 8"Windows 8"Windows 7"Windows 7""iphone"9.2"9.2"Linux"Linux"/opt/src/js/affix.js/opt/src/js ========================================================================
 * Bootstrap: affix.js v3.4.0
 * http://getbootstrap.com/javascript/#affix
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ======================================================================== /* ==== ... ==== */ AFFIX CLASS DEFINITION// AFFI ... INITION ======================// ==== ... ======= AFFIX PLUGIN DEFINITION ======================= AFFIX NO CONFLICT// AFFIX NO CONFLICT =================// ================= AFFIX DATA-API// AFFIX DATA-API ==============// ==============AffixDEFAULTS$target'scroll.bs.affix.data-api'checkPosition'click.bs.affix.data-api'checkPositionWithEventLoop$elementaffixedunpinpinnedOffset'3.4.0'RESET'affix affix-top affix-bottom'getStateoffsetBottomtargetHeightinitializingcolliderTopcolliderHeightgetPinnedOffset'affix'':visible'affixType'.bs.affix''affixed''bs.affix''[data-spy="affix"]'$spy+functi ... Query);+functi ... jQuery)var Aff ... n()\n  }Affix = ... n()\n  }functio ... n()\n  }{\n    t ... n()\n  }this.op ... ptions)$.exten ... ptions)$.extendAffix.DEFAULTSthis.$t ...  this))this.$target$(this. ...  this))$(this. ...     .on$(this. ... target)this.options.target'scroll ... ta-api'scroll.bs.affix.data-apidata-api$.proxy ... , this)$.proxythis.checkPosition'click. ... ta-api'click.bs.affix.data-apithis.ch ... entLoopcheckPo ... entLoopthis.$e ... lement)this.$element$(element)this.af ...  = nullthis.affixedthis.un ...  = nullthis.unpinthis.pi ...  = nullthis.pinnedOffsetthis.checkPosition()Affix.V ... '3.4.0'Affix.VERSIONAffix.R ... bottom'Affix.RESET'affix  ... bottom'affix affix-top affix-bottomAffix.D ... dow\n  }{\n    o ... dow\n  }offset: 0target: windowAffix.p ... lse\n  }Affix.p ... etStateAffix.prototypefunctio ... lse\n  }{\n    v ... lse\n  }var scr ... llTop()scrollT ... llTop()this.$t ... llTop()this.$t ... rollTopvar pos ... ffset()positio ... ffset()this.$e ... ffset()this.$element.offsetvar tar ... eight()targetH ... eight()this.$t ... eight()this.$target.heightif (off ... : falseoffsetT ... = 'top'offsetTop != nullthis.af ... = 'top'return  ... : falsescrollT ... : falsescrollT ... fsetTopif (thi ... '\n    }this.af ... bottom'if (off ... bottom'return  ... bottom'(scroll ... bottom'(scroll ... on.top)scrollT ... ion.topscrollT ... s.unpinposition.top(scroll ... Bottom)scrollT ... tBottomscrollT ... tHeightscrollH ... tBottomvar ini ... == nullinitial ... == nullthis.affixed == nullvar col ... ion.topcollide ... ion.topinitial ... ion.topvar col ...  heightcollide ...  heightinitial ...  heightif (off ... n 'top'offsetT ... fsetTopreturn 'top'offsetB ... Bottom)offsetBottom != null(collid ... Bottom)collide ... tBottomcollide ... rHeightreturn 'bottom'Affix.p ... op)\n  }Affix.p ... dOffsetfunctio ... op)\n  }{\n    i ... op)\n  }if (thi ... dOffsetreturn  ... dOffsetthis.$e ... affix')this.$e ... ddClassthis.$e ... .RESET)this.$e ... veClassreturn  ... ollTop)(this.p ... ollTop)this.pi ... rollToppositio ... rollTopAffix.p ...  1)\n  }Affix.p ... entLoopfunctio ...  1)\n  }{\n    s ...  1)\n  }setTime ... is), 1)Affix.p ...   }\n  }Affix.p ... ositionif (!th ...  return!this.$ ... sible')this.$e ... sible')this.$element.is:visiblevar hei ... eight()height  ... eight()this.$e ... eight()this.$element.heightvar off ... .offsetoffset  ... .offsetthis.options.offsetvar off ... set.topoffsetT ... set.topoffset.topvar off ... .bottomoffsetB ... .bottomoffset.bottomvar scr ... ight())scrollH ... ight())Math.ma ... ight())$(document).height()$(document).height$(docum ... eight()$(docum ... .heightif (typ ...  offsettypeof offsetoffsetB ...  offsetoffsetTop = offsetif (typ ... lement)typeof offsetTopoffsetT ... lement)offset. ... lement)typeof offsetBottomoffsetB ... lement)var aff ... Bottom)affix = ... Bottom)this.ge ... Bottom)this.getStateif (thi ... )\n    }this.af ... = affixif (thi ... p', '')this.unpin != nullthis.$e ... p', '')this.$element.cssvar aff ... x : '')affixTy ... x : '')'affix' ... x : '')(affix  ... x : '')affix ? ... ix : '''-' + affixvar e   ... affix')e       ... affix')$.Event ... affix')$.EventaffixTy ... .affix'.bs.affixthis.$e ... gger(e)this.$e ... triggerif (e.i ...  returne.isDef ... ented()e.isDefaultPreventedthis.affixed = affixthis.un ...  : nullaffix = ...  : nullaffix == 'bottom'this.ge ... ffset()this.getPinnedOffsetthis.$e ... ixType)affixTy ... fixed')affixType.replaceif (aff ... )\n    }this.$e ...      })top: sc ... tBottomscrollH ...  height{\n    r ...  })\n  }return  ... \n    })this.ea ... \n    })var $th ... $(this)$this   = $(this)var dat ... affix')data    ... affix')$this.d ... affix')$this.databs.affixvar opt ...  optionoptions ...  optiontypeof  ...  optiontypeof optionif (!da ... ions)))$this.d ... ions)))(data = ... tions))data =  ... ptions)new Aff ... ptions)if (typ ... tion]()data[option]()data[option]var old = $.fn.affixold = $.fn.affix$.fn.affix$.fn$.fn.af ...  Plugin$.fn.af ... = Affix$.fn.af ... tructor$.fn.af ... his\n  }$.fn.af ... onflictfunctio ... his\n  }{\n    $ ... his\n  }$.fn.affix = old$(windo ... })\n  })$(window).on{\n    $ ...  })\n  }$('[dat ... \n    })$('[dat ... ').each$('[dat ... fix"]')[data-spy="affix"]a-svar $spy = $(this)$spy = $(this)var dat ... .data()data = $spy.data()$spy.data()$spy.datadata.of ... t || {}data.offsetdata.offset || {}if (dat ... tBottomdata.of ... != nulldata.offsetBottomdata.of ... tBottomdata.offset.bottomif (dat ... fsetTopdata.offsetTopdata.of ... fsetTopdata.offset.topPlugin. ... , data)Plugin.call/opt/src/js/alert.js ========================================================================
 * Bootstrap: alert.js v3.4.0
 * http://getbootstrap.com/javascript/#alerts
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  ALERT CLASS DEFINITION// ALER ... INITION strip for ie7// strip for ie7 detach from parent, fire event then clean up data// deta ... up data ALERT PLUGIN DEFINITION ALERT NO CONFLICT// ALERT NO CONFLICT ALERT DATA-API// ALERT DATA-APIdismiss'[data-dismiss="alert"]'AlertelTRANSITION_DURATION150'data-target'/.*(?=#[^\s]*$)/$parent'#''close.bs.alert''in'removeElement'closed.bs.alert''fade''bsTransitionEnd'emulateTransitionEnd'bs.alert''click.bs.alert.data-api'functio ... ose)\n\n}{\n  'us ... ose)\n\n}var dis ... lert"]'dismiss ... lert"]''[data- ... lert"]'[data-dismiss="alert"]var Ale ... se)\n  }Alert   ... se)\n  }functio ... se)\n  }{\n    $ ... se)\n  }$(el).o ... .close)$(el).on$(el)this.closeAlert.V ... '3.4.0'Alert.VERSIONAlert.T ... N = 150Alert.T ... URATIONAlert.p ... t()\n  }Alert.p ... e.closeAlert.prototypefunctio ... t()\n  }{\n    v ... t()\n  }$this    = $(this)var sel ... arget')selecto ... arget')$this.a ... arget')$this.attrif (!se ... 7\n    }!selector{\n      ... 7\n    }selecto ... 'href')$this.attr('href')selecto ... )/, '').*(?=#[^\s]*$)(?=#[^\s]*$)#[^\s]*$[^\s]*var $pa ... lector)$parent ... lector)$(selec ... lector)selecto ... electorselector === '#'if (e)  ... fault()if (!$p ... )\n    }!$parent.length$parent.length$parent ... alert')$this.c ... alert')$this.closest$parent ... lert'))$parent.triggere = $.E ... alert')$.Event ... alert')close.bs.alert$parent ... s('in')$parent.removeClass$parent ... emove()$parent ... .remove$parent ... trigger$parent.detach()$parent.detachclosed.bs.alert$.suppo ... ement()$.suppo ... 'fade')$.support.transition$.support$parent ... 'fade')$parent.hasClassfade$parent ... RATION)$parent ... tionEnd$parent ... lement)$parent\n        .onebsTransitionEndremoveElement()var dat ... alert')data  = ... alert')$this.d ... alert')bs.alertif (!da ... this)))$this.d ... this)))(data = ... (this))data =  ... t(this)new Alert(this)if (typ ... ($this)data[op ... ($this)data[option].callvar old = $.fn.alertold = $.fn.alert$.fn.alert$.fn.al ...  Plugin$.fn.al ... = Alert$.fn.al ... tructor$.fn.al ... his\n  }$.fn.al ... onflict$.fn.alert = old$(docum ... .close)$(document).onclick.bs.alert.data-api/opt/src/js/button.js ========================================================================
 * Bootstrap: button.js v3.4.0
 * http://getbootstrap.com/javascript/#buttons
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  BUTTON PUBLIC CLASS DEFINITION// BUTT ... INITION ============================== push to event loop to allow forms to submit// push ...  submit BUTTON PLUGIN DEFINITION ======================== BUTTON NO CONFLICT// BUTT ... ONFLICT ================== BUTTON DATA-API// BUTTON DATA-API ===============// =============== Prevent double click on radios, and the double selections (so cancellation) on checkboxes// Prev ... ckboxes The target component still receive the focus// The  ... e focusButtonisLoadingloadingText'loading...'setState$el'input''val''html''Text'resetText'resetText''loadingText''[data-toggle="buttons"]'$input'type''radio''.active''checkbox''aria-pressed''bs.button''toggle''click.bs.button.data-api''[data-toggle^="button"]''.btn''input[type="radio"], input[type="checkbox"]''input,button''focus''input:visible,button:visible''focus.bs.button.data-api blur.bs.button.data-api'/^focus(in)?$/var But ... lse\n  }Button  ... lse\n  }{\n    t ... lse\n  }Button.DEFAULTSthis.is ... = falsethis.isLoadingButton. ... '3.4.0'Button.VERSIONButton. ... ..'\n  }{\n    l ... ..'\n  }loading ... ing...'loading...Button. ...  0)\n  }Button. ... etStateButton.prototypefunctio ...  0)\n  }{\n    v ...  0)\n  }var d   ... sabled'd    = 'disabled'var $el ... element$el  = this.$elementvar val ...  'html'val  =  ...  'html'$el.is( ...  'html'$el.is('input')$el.isdata = $el.data()$el.data()$el.datastate += 'Text'if (dat ... val]())data.re ... == nulldata.resetText$el.dat ... val]())$el[val]()$el[val]setTime ... is), 0)$el[val ... state])data[st ... [state]data[state] == nulldata[state]this.options[state]state = ... ngText'this.is ...  = true$el.add ... , true)$el.add ... d).prop$el.add ... r(d, d)$el.addClass(d).attr$el.addClass(d)$el.addClass$el.rem ...  false)$el.rem ... d).prop$el.rem ... Attr(d)$el.rem ... oveAttr$el.removeClass(d)$el.removeClassButton. ...   }\n  }Button. ... .togglevar changed = truechanged = truevar $pa ... ons"]')$parent ... ons"]')this.$e ... ons"]')this.$e ... closest'[data- ... tons"]'[data-toggle="buttons"]if ($pa ... )\n    }$input  ... input')this.$e ... input')this.$element.findif ($in ...       }$input. ... 'radio'$input.prop('type')$input.propif ($in ... = false$input. ... ecked')changed = false$parent ... ctive')$parent ... veClass$parent.find.activethis.$e ... ctive')$input. ... eckbox'if (($i ... = false($input ... ctive')($input ... cked'))this.$e ... asClassthis.$e ... leClass$input. ... tive'))if (cha ... hange')$input. ... hange')$input.triggerthis.$e ... tive'))this.$element.attr!this.$ ... ctive')var dat ... utton')data    ... utton')$this.d ... utton')bs.buttonnew But ... ptions)if (opt ... option)option == 'toggle'data.toggle()data.toggledata.se ... option)data.setStatevar old ... .buttonold = $.fn.button$.fn.button$.fn.bu ...  Plugin$.fn.bu ...  Button$.fn.bu ... tructor$.fn.bu ... his\n  }$.fn.bu ... onflict$.fn.button = old$(docum ... \n    })$(docum ...     .on$(document)\n    .onclick.bs.button.data-api'[data- ... tton"]'[data-toggle^="button"]var $bt ... '.btn')$btn =  ... '.btn')$(e.tar ... '.btn')$(e.target).closest$(e.target).btnbtnPlugin. ... oggle')if (!($ ...       }!($(e.t ... ox"]'))($(e.ta ... ox"]'))$(e.tar ... box"]')$(e.target).is'input[ ... kbox"]'input[type="radio"], input[type="checkbox"][type="radio"], input[type="checkbox"]if ($bt ... focus')$btn.is ... utton')$btn.isinput,button$btn.tr ... focus')$btn.trigger$btn.fi ... focus')$btn.fi ... trigger$btn.fi ... first()$btn.fi ... ).first$btn.fi ... sible')$btn.find'input: ... isible'input:visible,button:visible'focus. ... ta-api'focus.bs.button.data-api blur.bs.button.data-apidata-api blur$(e.tar ... .type))$(e.tar ... leClass/^focus ... e.type)/^focus(in)?$/.test^focus(in)?$(in)?(in)e.type/opt/src/js/carousel.js ========================================================================
 * Bootstrap: carousel.js v3.4.0
 * http://getbootstrap.com/javascript/#carousel
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  CAROUSEL CLASS DEFINITION// CARO ... INITION ========================= yes, "slid"// yes, "slid" force reflow// force reflow CAROUSEL PLUGIN DEFINITION ========================== CAROUSEL NO CONFLICT// CARO ... ONFLICT ==================== CAROUSEL DATA-API// CAROUSEL DATA-APICarousel$indicators'.carousel-indicators'sliding$active$itemskeyboard'keydown.bs.carousel''hover''ontouchstart''mouseenter.bs.carousel''mouseleave.bs.carousel'cycle6005000/input|textarea/igetItemIndex'.item'getItemForDirectionactiveIndexwillWrap'prev''next'itemIndexthat'.item.active''slid.bs.carousel'slide'.next, .prev'$nextisCyclingslideEvent'slide.bs.carousel'$nextIndicatorslidEvent'slide''bs.carousel'clickHandler/.*(?=#[^\s]+$)/'carousel'slideIndex'data-slide-to''click.bs.carousel.data-api''[data-slide]''[data-slide-to]''[data-ride="carousel"]'$carouselvar Car ... s))\n  }Carouse ... s))\n  }functio ... s))\n  }{\n    t ... s))\n  }this.$i ... ators')this.$indicatorsthis.$e ... ators')'.carou ... cators'.carousel-indicatorsthis.pa ...  = nullthis.pausedthis.sl ...  = nullthis.slidingthis.in ...  = nullthis.intervalthis.$a ...  = nullthis.$activethis.$i ...  = nullthis.$itemsthis.op ...  this))this.op ... eyboardthis.$e ...  this))this.$element.on'keydow ... rousel'keydown.bs.carouselthis.keydownthis.op ... lement)this.op ... 'hover'this.options.pause!('onto ... lement)('ontou ... lement)'ontouc ... Elementthis.$e ...     .on'mousee ... rousel'mouseenter.bs.carouselthis.pause'mousel ... rousel'mouseleave.bs.carouselthis.cycleCarouse ... '3.4.0'Carousel.VERSIONCarouse ... N = 600Carouse ... URATIONCarouse ... rue\n  }Carousel.DEFAULTS{\n    i ... rue\n  }interval: 5000pause: 'hover'wrap: truekeyboard: trueCarouse ... t()\n  }Carouse ... keydownCarousel.prototype{\n    i ... t()\n  }if (/in ...  return/input| ... agName)/input| ... /i.testinput|textareae.target.tagNameswitch  ... n\n    }e.whichcase 37 ... ; breakthis.prev();this.prev()this.prevcase 39 ... ; breakthis.next();this.next()this.nextdefault: returnCarouse ... his\n  }Carouse ... e.cycle{\n    e ... his\n  }e || (t ...  false)(this.p ...  false)this.paused = falsethis.in ... terval)clearIn ... terval)this.op ... erval))this.op ... .pausedthis.op ... nterval!this.paused(this.i ... erval))setInte ... terval)Carouse ... ve)\n  }Carouse ... emIndexfunctio ... ve)\n  }{\n    t ... ve)\n  }this.$i ... .item')item.pa ... .item')item.pa ... hildrenitem.parent()item.parent.itemreturn  ... active)this.$i ... active)this.$items.indexitem || this.$activeCarouse ... ex)\n  }Carouse ... rectionfunctio ... ex)\n  }{\n    v ... ex)\n  }var act ... active)activeI ... active)this.ge ... active)this.getItemIndexvar wil ... h - 1))willWra ... h - 1))(direct ... h - 1))(direct ...  === 0)directi ... x === 0direction == 'prev'activeIndex === 0directi ... th - 1)direction == 'next'activeI ... th - 1)(this.$ ... th - 1)this.$i ... gth - 1this.$items.lengthif (wil ...  activewillWra ... ns.wrap!this.options.wrapthis.options.wrapreturn activevar del ...  -1 : 1delta = ...  -1 : 1directi ...  -1 : 1var ite ... .lengthitemInd ... .length(active ... .length(active ...  delta)activeIndex + deltareturn  ... mIndex)this.$i ... mIndex)this.$items.eqCarouse ... type.to{\n    v ... s))\n  }var tha ...  = thisthat        = thisvar act ... tive'))activeI ... tive'))this.ge ... tive'))this.$a ... ctive').item.activeif (pos ...  returnpos > ( ... pos < 0pos > ( ... th - 1)pos < 0if (thi ... pos) })return  ... pos) })this.$e ... pos) })this.$element.oneslid.bs.carouselslidfunctio ... (pos) }{ that.to(pos) }that.to(pos)that.toif (act ... cycle()activeIndex == posreturn  ... cycle()this.pause().cycle()this.pause().cyclethis.pause()return  ... q(pos))this.sl ... q(pos))this.slidepos > a ...  'prev'pos > activeIndexthis.$items.eq(pos)Carouse ... e.pausee || (t ... = true)(this.paused = true)this.paused = truethis.$e ... nsitionthis.$e ... .lengththis.$e ... .prev').next, .prevnext, this.$e ... on.end)$.suppo ... ion.endthis.cycle(true)Carouse ... t')\n  }Carouse ... pe.next{\n    i ... t')\n  }return  ... 'next')this.slide('next')Carouse ... v')\n  }Carouse ... pe.prevfunctio ... v')\n  }{\n    i ... v')\n  }return  ... 'prev')this.slide('prev')Carouse ... e.slide{\n    v ... his\n  }var $ac ... ctive')$active ... ctive')var $ne ... active)$next   ... active)next || ... active)this.ge ... rectionvar isC ... ntervalisCycli ... ntervalvar dir ... 'right'directi ... 'right'type == ... 'right'type == 'next'var that      = thisthat      = thisif ($ne ...  false)$next.h ... ctive')$next.hasClassreturn  ...  false)(this.s ...  false)this.sliding = falsevar rel ... next[0]related ... next[0]$next[0]var sli ... \n    })slideEv ... \n    })$.Event ... \n    })slide.bs.carousel{\n      ... n\n    }related ... dTargetdirection: directionthis.$e ... eEvent)if (sli ...  returnslideEv ... ented()slideEv ... eventedthis.sliding = trueisCycli ... pause()this.$i ... .lengththis.$i ... ctive')this.$i ... veClassthis.$i ... rs.findvar $ne ... next)])$nextIn ... next)])$(this. ... next)])this.$i ... $next)]this.$i ... ldren()this.$i ... hildrenthis.ge ... ($next)$nextIn ... ctive')$nextIn ... ddClassvar sli ... tion })slidEve ... tion })$.Event ... tion }){ relat ... ction }if ($.s ... )\n    }$.suppo ... slide')this.$e ... slide')$next.addClass(type)$next.addClass$next[0].offsetWidth$active ... ection)$active.addClass$next.a ... ection)$active ... RATION)$active ... tionEnd$active ...      })$active\n        .one$next.r ... ctive')$next.r ... ddClass$next.r ... n(' '))$next.removeClass[type,  ... in(' ')[type,  ... n].join[type, direction]$active ... n(' '))$active.removeClass['activ ... in(' ')['activ ... n].join['activ ... ection]that.sliding = falsethat.slidingthat.$e ... dEvent)that.$e ... triggerthat.$element$next.a ... ctive')this.$e ... dEvent)isCycli ... cycle()this.cycle()var dat ... ousel')data    ... ousel')$this.d ... ousel')bs.carouselvar opt ... option)options ... option)$.exten ... option)$this.data()var act ... s.slideaction  ... s.slidetypeof  ... s.slideoptions.slidenew Car ... ptions)if (typ ... cycle()data.to(option)data.todata[action]()data[action]if (opt ... cycle()options.intervaldata.pause().cycle()data.pause().cycledata.pause()data.pausevar old ... arouselold = $.fn.carousel$.fn.carousel$.fn.ca ...  Plugin$.fn.ca ... arousel$.fn.ca ... tructor$.fn.ca ... his\n  }$.fn.ca ... onflict$.fn.carousel = oldvar cli ... t()\n  }clickHa ... t()\n  }var hrefvar $ta ... /, ''))$target ... /, ''))$($this ... /, ''))$this.a ... )/, '')(href = ... )/, '')(href = ... href'))href.re ... )/, '')href.replace.*(?=#[^\s]+$)(?=#[^\s]+$)#[^\s]+$[^\s]+if (!$t ...  return!$targe ... ousel')$target ... ousel')$target.hasClassvar opt ... data())options ... data())$.exten ... data())$target.data()$target.datavar sli ... de-to')slideIn ... de-to')$this.a ... de-to')if (sli ... = falseoptions ... = falsePlugin. ... ptions)if (sli ... )\n    }$target ... eIndex)$target ... el').to$(docum ... andler)click.bs.carousel.data-api[data-slide][data-slide-to]e-t$('[dat ... sel"]')'[data- ... usel"]'[data-ride="carousel"]a-rvar $ca ... $(this)$carousel = $(this)Plugin. ... data())$carousel.data()$carousel.data/opt/src/js/collapse.js ========================================================================
 * Bootstrap: collapse.js v3.4.0
 * http://getbootstrap.com/javascript/#collapse
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  jshint latedef: false /* jshi ... alse */ COLLAPSE PUBLIC CLASS DEFINITION// COLL ... INITION ================================ COLLAPSE PLUGIN DEFINITION COLLAPSE NO CONFLICT// COLL ... ONFLICT COLLAPSE DATA-API// COLLAPSE DATA-APICollapse$trigger'[data-toggle="collapse"][href="#''"],''[data-toggle="collapse"][data-target="#'transitioningaddAriaAndCollapsedClass350dimensionhasWidthactivesDataactives'.panel''.in, .collapsing''bs.collapse'startEvent'show.bs.collapse''hide''collapse''collapsing''aria-expanded''collapsed''collapse in''shown.bs.collapse'scrollSizecamelCase'scroll''hide.bs.collapse''hidden.bs.collapse''[data-toggle="collapse"][data-parent="'getTargetFromTrigger/show|hide/'click.bs.collapse.data-api''[data-toggle="collapse"]'var Col ... e()\n  }Collaps ... e()\n  }{\n    t ... e()\n  }Collapse.DEFAULTSthis.$t ... + '"]')this.$trigger$('[dat ... + '"]')'[data- ...  + '"]''[data- ... ment.id'[data- ... get="#''[data- ... + '"],''[data- ... ref="#'[data-toggle="collapse"][href="#element.id"],[data-toggle="collapse"][data-target="#this.tr ...  = nullthis.transitioningthis.options.parentthis.$p ... arent()this.$parentthis.getParent()this.getParentthis.ad ... rigger)this.ad ... edClassaddAria ... edClassif (thi ... oggle()this.options.togglethis.toggle()this.toggleCollaps ... '3.4.0'Collapse.VERSIONCollaps ... N = 350Collaps ... URATIONCollaps ... rue\n  }{\n    t ... rue\n  }toggle: trueCollaps ... ht'\n  }Collaps ... mensionCollapse.prototypefunctio ... ht'\n  }{\n    v ... ht'\n  }var has ... width')hasWidt ... width')this.$e ... width')return  ... height'hasWidt ... height'Collaps ... e])\n  }Collaps ... pe.showfunctio ... e])\n  }{\n    i ... e])\n  }this.tr ... s('in')this.$e ... s('in')var activesDatavar act ... psing')actives ... psing')this.$p ... psing')this.$p ... hildrenthis.$p ... panel').panelpanel.in, .collapsingin, collapsingif (act ... n\n    }actives ... .lengthactives.lengthactives ... lapse')actives.databs.collapseif (act ...  returnactives ... tioningvar sta ... lapse')startEv ... lapse')$.Event ... lapse')show.bs.collapsethis.$e ... tEvent)if (sta ...  returnstartEv ... ented()startEv ... eventedif (act ... )\n    }Plugin. ... 'hide')actives ... , null)var dim ... nsion()dimensi ... nsion()this.dimension()this.dimensionthis.$e ... , true)this.$e ...   .attrthis.$e ... ion](0)this.$e ... ension]this.$e ... psing')this.$e ... lapse')this.$t ... , true)this.$t ...   .attrthis.$t ... apsed')this.$t ... veClassthis.tr ... ing = 1var com ... )\n    }complet ... )\n    }this.$e ... on]('')this.$e ... se in')collapse inthis.tr ... ing = 0shown.bs.collapseif (!$. ... l(this)!$.supp ... nsitionreturn  ... l(this)complete.call(this)complete.callvar scr ... n('-'))scrollS ... n('-'))$.camel ... n('-'))$.camelCase['scrol ... in('-')['scrol ... n].join['scrol ... ension]this.$e ... lSize])this.$e ... RATION)this.$e ... tionEndthis.$e ...    .onethis.$e ... llSize]this.$element[0]Collaps ... ON)\n  }Collaps ... pe.hidefunctio ... ON)\n  }{\n    i ... ON)\n  }!this.$ ... s('in')hide.bs.collapsethis.$e ... tHeightthis.$e ... ]())[0]this.$e ... ion]())this.$e ... sion]()this.$e ...  false)this.$t ...  false)this.$t ... ddClasshidden.bs.collapseCollaps ... ]()\n  }Collaps ... .togglefunctio ... ]()\n  }{\n    t ... ]()\n  }this[th ... how']()this[th ... 'show']this.$e ...  'show'Collaps ... d()\n  }Collaps ... tParentfunctio ... d()\n  }{\n    r ... d()\n  }return  ...  .end()$(this. ...  .end()$(this. ...    .end$(this. ...   .each$(this. ... + '"]')$(this. ...   .find$(this. ... parent)'[data- ... .parent'[data- ... rent="'[data-toggle="collapse"][data-parent="var $el ... lement)$elemen ... lement)this.ad ... lement)getTarg ... lement)Collaps ... en)\n  }Collaps ... edClassfunctio ... en)\n  }{\n    v ... en)\n  }var isO ... s('in')isOpen  ... s('in')$elemen ... s('in')$element.hasClass$elemen ... isOpen)$element.attr$trigge ... isOpen)$trigge ...   .attr$trigge ... leClass!isOpenfunctio ... et)\n  }{\n    v ... et)\n  }var tar ... )/, '')target  ... )/, '')$trigge ... )/, '')$trigge ... arget')$trigger.attr$trigge ... 'href')return $(target)$(target)var dat ... lapse')data    ... lapse')$this.d ... lapse')if (!da ... = false!data & ... option)!data & ... .toggleoptions.toggle/show|h ... option)/show|hide/.testshow|hidenew Col ... ptions)var old ... ollapseold = $.fn.collapse$.fn.collapse$.fn.co ...  Plugin$.fn.co ... ollapse$.fn.co ... tructor$.fn.co ... his\n  }$.fn.co ... onflict$.fn.collapse = old$(docum ... n)\n  })click.bs.collapse.data-api'[data- ... apse"]'[data-toggle="collapse"]functio ... on)\n  }{\n    v ... on)\n  }if (!$t ... fault()!$this. ... arget')var $ta ... ($this)$target ... ($this)getTarg ... ($this)$target ... lapse')var opt ... .data()option  ... .data()data ?  ... .data()Plugin. ... option)/opt/src/js/dropdown.js ========================================================================
 * Bootstrap: dropdown.js v3.4.0
 * http://getbootstrap.com/javascript/#dropdowns
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  DROPDOWN CLASS DEFINITION// DROP ... INITION if mobile we use a backdrop because click events don't delegate// if m ... elegate up// up down// down DROPDOWN PLUGIN DEFINITION DROPDOWN NO CONFLICT// DROP ... ONFLICT APPLY TO STANDARD DROPDOWN ELEMENTS// APPL ... LEMENTS ===================================backdrop'.dropdown-backdrop''[data-toggle="dropdown"]'Dropdown'click.bs.dropdown'/#[A-Za-z]/clearMenus'open''hide.bs.dropdown''false''hidden.bs.dropdown''.disabled, :disabled'isActive'.navbar-nav''div''dropdown-backdrop''show.bs.dropdown''true''shown.bs.dropdown'/(38|40|27|32)/desc' li:not(.disabled):visible a''.dropdown-menu''bs.dropdown''click.bs.dropdown.data-api''.dropdown form''keydown.bs.dropdown.data-api'functio ... own)\n\n}{\n  'us ... own)\n\n}var bac ... ckdrop'backdro ... ckdrop'.dropdown-backdropdropdown-backdropvar tog ... down"]'toggle  ... down"]''[data- ... down"]'[data-toggle="dropdown"]var Dro ... le)\n  }Dropdow ... le)\n  }functio ... le)\n  }{\n    $ ... le)\n  }$(eleme ... toggle)$(element).onclick.bs.dropdownDropdow ... '3.4.0'Dropdown.VERSIONselecto ... lector)/#[A-Za ... lector)/#[A-Za-z]/.test#[A-Za-z][A-Za-z]$(selector)return  ... arent()$parent ... arent()$parent ... .length$this.parent()$this.parent{\n    i ...  })\n  }if (e & ...  returne && e.which === 3e.which === 3$(backdrop).remove()$(backdrop).remove$(backdrop)$(toggl ... \n    })$(toggle).each$(toggle)$this   ... $(this)var $pa ... ($this)$parent ... ($this)getParent($this)var rel ...  this }related ...  this }{ relat ...  this }relatedTarget: thisif (!$p ...  return!$paren ... 'open')$parent ... 'open')e && e. ... target)e && e. ... agName)e && e. ... 'click'e.type == 'click'$.conta ... target)$.contains$parent[0]$parent ... arget))e = $.E ... Target)$.Event ... Target)hide.bs.dropdown$this.a ... false')hidden.bs.dropdownDropdow ... lse\n  }Dropdow ... .toggleDropdown.prototypeif ($th ...  return$this.i ... abled')'.disab ... sabled'.disabled, :disableddisabled, :disabledvar isA ... 'open')isActiv ... 'open')clearMenus()if (!is ... )\n    }!isActiveif ('on ...       }'ontouc ... .length!$paren ... .length$parent ... r-nav')$parent.closest.navbar-navnavbar-nav$(docum ... rMenus)$(docum ... (this))$(docum ... rtAfter$(docum ... kdrop')$(docum ... ddClass$(docum ... 'div'))documen ... ('div')show.bs.dropdown$this\n  ... 'true')$this\n  ...   .attr$this\n  ... focus')$this\n  ... trigger$parent ... leClassshown.bs.dropdownDropdow ... s')\n  }Dropdow ... keydownfunctio ... s')\n  }{\n    i ... s')\n  }if (!/( ...  return!/(38|4 ... agName)!/(38|4 ... .which)/(38|40 ... .which)/(38|40|27|32)/.test(38|40|27|32)38|40|27|32!isActi ... h == 27!isActi ... h != 27e.which != 27isActiv ... h == 27e.which == 27if (e.w ... focus')$parent ... focus')$parent.find(toggle)return  ... click')$this.t ... click')$this.triggervar des ... ible a'desc =  ... ible a'' li:no ... ible a' li:not(.disabled):visible a li:not(.disabled).disabled:visible avar $it ... + desc)$items  ... + desc)$parent ... + desc)'.dropd ...  + desc.dropdown-menuif (!$i ...  return!$items.length$items.lengthvar ind ... target)index = ... target)$items. ... target)$items.indexif (e.w ... index--e.which ... dex > 0e.which == 38index > 0index--if (e.w ... index++e.which ... gth - 1e.which == 40index < ... gth - 1$items.length - 1index++if (!~i ... dex = 0!~index~index$items. ... focus')$items. ... trigger$items.eq(index)$items.eqvar dat ... pdown')data  = ... pdown')$this.d ... pdown')bs.dropdowndata =  ... n(this)new Dropdown(this)var old ... ropdownold = $.fn.dropdown$.fn.dropdown$.fn.dr ...  Plugin$.fn.dr ... ropdown$.fn.dr ... tructor$.fn.dr ... his\n  }$.fn.dr ... onflict$.fn.dropdown = old$(docum ... eydown)$(docum ... toggle)$(docum ... on() })click.bs.dropdown.data-api.dropdown formdropdown formfunctio ... ion() }{ e.sto ... ion() }'keydow ... ta-api'keydown.bs.dropdown.data-api/opt/src/js/modal.js ========================================================================
 * Bootstrap: modal.js v3.4.0
 * http://getbootstrap.com/javascript/#modals
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  MODAL CLASS DEFINITION// MODA ... INITION don't move modals dom position// don' ... osition wait for modal to slide in// wait ... lide in guard against infinite focus loop// guar ... us loop these following methods are used to handle overflowing modals// thes ...  modals workaround for missing window.innerWidth in IE8// work ...  in IE8 thx walsh// thx walsh MODAL PLUGIN DEFINITION MODAL NO CONFLICT// MODAL NO CONFLICT MODAL DATA-API// MODAL DATA-API only register focus restorer if modal will actually get shown// only ... t shownModal$dialog'.modal-dialog'$backdropisShownoriginalBodyPadscrollbarWidthignoreBackdropClick'.modal-content''loaded.bs.modal'300BACKDROP_TRANSITION_DURATION_relatedTargetcheckScrollbarsetScrollbar'modal-open''click.dismiss.bs.modal''[data-dismiss="modal"]''mousedown.dismiss.bs.modal''mouseup.dismiss.bs.modal'adjustDialogenforceFocus'shown.bs.modal''hide.bs.modal''focusin.bs.modal'hideModal'keydown.dismiss.bs.modal''resize.bs.modal'handleUpdateresetAdjustmentsresetScrollbar'hidden.bs.modal'removeBackdropdoAnimate'modal-backdrop ''static'callbackRemovemodalIsOverflowingbodyIsOverflowingfullWindowWidthdocumentElementRectmeasureScrollbarbodyPad'padding-right'scrollDiv'modal-scrollbar-measure''bs.modal''click.bs.modal.data-api''[data-toggle="modal"]'/#/showEventvar Mod ...   }\n  }Modal = ...   }\n  }this.$b ... t.body)this.$bodythis.$d ... ialog')this.$dialogthis.$e ... ialog').modal-dialogthis.$b ...  = nullthis.$backdropthis.is ...  = nullthis.isShownthis.or ...  = nullthis.originalBodyPadthis.sc ...     = 0this.scrollbarWidththis.ig ... = falsethis.ig ... opClickthis.options.remotethis.$e ...   .loadthis.$e ... ntent')this.$e ...   .find.modal-contentthis.$e ... modal')loaded.bs.modalModal.V ... '3.4.0'Modal.VERSIONModal.T ... N = 300Modal.T ... URATIONModal.B ... N = 150Modal.B ... URATIONBACKDRO ... URATIONModal.D ... rue\n  }Modal.DEFAULTS{\n    b ... rue\n  }backdrop: trueshow: trueModal.p ... et)\n  }Modal.p ... .toggleModal.prototypethis.is ... Target)this.hide()this.hidethis.sh ... Target)this.showModal.p ...  })\n  }Modal.prototype.showvar that = thisthat = thisvar e   ... rget })e    =  ... rget })$.Event ... rget }){ relat ... arget }this.is ... ented()this.isShown = truethis.ch ... llbar()this.checkScrollbarthis.setScrollbar()this.setScrollbarthis.$b ... -open')this.$body.addClassmodal-openthis.escape()this.escapethis.resize()this.resize'click. ... .modal'click.dismiss.bs.modal'[data- ... odal"]'[data-dismiss="modal"]this.$d ... \n    })this.$dialog.on'moused ... .modal'mousedown.dismiss.bs.modalthat.$e ...      })that.$element.one'mouseu ... .modal'mouseup.dismiss.bs.modalif ($(e ...  = true$(e.tar ... lement)that.ig ...  = truethat.ig ... opClickthis.ba ... \n    })this.backdropvar tra ... 'fade')transit ... 'fade')that.$e ... 'fade')that.$e ... asClass!that.$ ... .lengththat.$e ... .lengththat.$e ... arent()that.$element.parentthat.$e ... .$body)that.$e ... ppendTothat.$bodythat.$e ... lTop(0)that.$e ... rollTopthat.$e ... .show()that.$e ...   .showthat.adjustDialog()that.adjustDialogthat.$e ... etWidththat.$element[0]that.$e ... s('in')that.$e ... ddClassthat.enforceFocus()that.enforceFocusvar e = ... rget })e = $.E ... rget })shown.bs.modaltransit ... gger(e)that.$d ... RATION)that.$d ... tionEndthat.$d ...      })that.$d ...    .onethat.$dialogthat.$e ... gger(e)that.$e ... focus')Modal.p ... l()\n  }Modal.prototype.hidefunctio ... l()\n  }{\n    i ... l()\n  }e = $.E ... modal')$.Event ... modal')hide.bs.modal!this.i ... ented()!this.isShownthis.isShown = false$(docum ... modal')$(document).offfocusin.bs.modalthis.$e ...    .offthis.$d ... modal')this.$dialog.off$.suppo ... Modal()this.$e ... 'fade')this.hideModalthis.hideModal()Modal.p ... s))\n  }Modal.p ... ceFocus{\n    $ ... s))\n  }$(docum ...  this))$(docum ...    .offif (doc ...       }documen ... .lengthdocumen ... .targetthis.$e ... .target!this.$ ... .lengththis.$e ... target)this.$element.hasthis.$e ... focus')Modal.p ...   }\n  }Modal.p ... .escapethis.is ... eyboard'keydow ... .modal'keydown.dismiss.bs.modale.which ... .hide()if (!th ... )\n    }this.$element.offModal.p ... .resize$(windo ...  this))resize.bs.modalthis.handleUpdate$(windo ... modal')$(window).offModal.p ... deModalthis.$element.hide()this.$element.hidethat.$b ... -open')that.$b ... veClassthat.re ... ments()that.re ... stmentsthat.re ... llbar()that.resetScrollbarthat.$e ... modal')hidden.bs.modalModal.p ... ull\n  }Modal.p ... ackdropfunctio ... ull\n  }{\n    t ... ull\n  }this.$b ... emove()this.$b ... .removevar ani ... e' : ''animate ... e' : ''this.$e ... e' : ''this.is ... ackdropthis.op ... ackdrop{\n      ... \n\n    }var doA ... animatedoAnima ... animate$.suppo ... animatethis.$b ... .$body)$(docum ... .$body)$(docum ... ppendTo$(docum ... nimate)'modal- ... animatemodal-backdrop if (e.t ...  returne.targe ... tTargete.currentTargetthis.op ... .hide()this.op ... static'staticthis.$e ... focus()this.$e ... ].focusif (doA ... etWidththis.$b ... etWidththis.$backdrop[0]this.$b ... s('in')this.$b ... ddClassif (!ca ...  returndoAnima ... lback()this.$b ... RATION)this.$b ... tionEndthis.$b ... llback)this.$b ...    .onecallback()!this.i ... ackdropthis.$b ... veClassvar cal ...       }callbac ...       }that.re ... kdrop()that.removeBackdropcallbac ... lback()$.suppo ... emove()this.$b ... Remove)callbackRemove()if (cal ... )\n    }Modal.p ... g()\n  }Modal.p ... eUpdate{\n    t ... g()\n  }this.adjustDialog()this.adjustDialogModal.p ... tDialogvar mod ... tHeightmodalIs ... tHeightthis.$e ... lHeightdocumen ... tHeightthis.$e ... \n    })padding ... th : ''!this.b ... th : ''!this.b ... flowingthis.bo ... flowingthis.bo ... th : ''!modalIsOverflowingModal.p ... stments{\n    t ...  })\n  }paddingLeft: ''paddingRight: ''Modal.p ... r()\n  }Modal.p ... rollbarfunctio ... r()\n  }{\n    v ... r()\n  }var ful ... erWidthfullWin ... erWidthwindow.innerWidthif (!fu ... )\n    }!fullWindowWidth{ // wo ... )\n    }var doc ... tRect()documen ... tRect()documen ... entRectfullWin ... t.left)documen ... t.left)documen ... t.rightMath.ab ... t.left)documen ... ct.leftthis.bo ... owWidthdocumen ... owWidthdocumen ... ntWidththis.sc ... llbar()this.me ... llbar()this.me ... rollbarModal.p ... th)\n  }functio ... th)\n  }{\n    v ... th)\n  }var bod ... 0), 10)bodyPad ... 0), 10)parseIn ... 0), 10)(this.$ ... ) || 0)this.$b ... ') || 0this.$b ... right')this.$body.csspadding-rightthis.or ... t || ''documen ... t || ''documen ... ngRightdocument.body.styleif (thi ... rWidth)this.$b ... rWidth)bodyPad ... arWidthModal.p ... ad)\n  }functio ... ad)\n  }{\n    t ... ad)\n  }this.$b ... odyPad)Modal.p ... dth\n  }functio ... dth\n  }{ // th ... dth\n  }var scr ... ('div')scrollD ... ('div')scrollD ... easure'scrollDiv.className'modal- ... easure'modal-scrollbar-measurethis.$b ... ollDiv)this.$body.appendvar scr ... ntWidthscrollb ... ntWidthscrollD ... ntWidthscrollD ... etWidththis.$b ... veChildthis.$body[0]return  ... arWidthvar dat ... modal')data    ... modal')$this.d ... modal')bs.modalnew Mod ... ptions)if (typ ... Target)data[op ... Target)if (opt ... Target)options.showdata.sh ... Target)data.showvar old = $.fn.modalold = $.fn.modal$.fn.modal$.fn.mo ...  Plugin$.fn.mo ... = Modal$.fn.mo ... tructor$.fn.mo ... his\n  }$.fn.mo ... onflict$.fn.modal = old$(docum ... s)\n  })click.bs.modal.data-api[data-toggle="modal"]functio ... is)\n  }{\n    v ... is)\n  }href    ... 'href')var $ta ... , '')))$target ... , '')))$($this ... , '')))$this.a ... /, ''))(href & ... /, ''))href && ... )/, '')option  ... data())$target ... data())$target ... modal'){ remot ...  href }remote: ... && href!/#/.te ... && href!/#/.test(href)/#/.test(href)/#/.testif ($th ... fault()$this.is('a')$target ... \n    })$target.oneif (sho ...  returnshowEve ... ented()showEve ... evented$target ...      })$this.i ... focus')$this.is(':visible')$this.t ... focus')Plugin. ... , this)/opt/src/js/popover.js ========================================================================
 * Bootstrap: popover.js v3.4.0
 * http://getbootstrap.com/javascript/#popovers
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  POPOVER PUBLIC CLASS DEFINITION// POPO ... INITION =============================== NOTE: POPOVER EXTENDS tooltip.js// NOTE ... ltip.js we use append for html objects to maintain js events// we u ...  events IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do// IE8  ... e to do this manually by checking the contents.// this ... ntents. POPOVER PLUGIN DEFINITION POPOVER NO CONFLICT// POPO ... ONFLICT ===================Popover'popover''Popover requires tooltip.js''<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'getDefaultssetContent$tiptipgetTitlegetContent'.popover-title''.popover-content''append''fade top bottom left right in'hasContent$e'data-content'$arrow'.arrow''bs.popover'/destroy|hide/var Pop ... ns)\n  }Popover ... ns)\n  }functio ... ns)\n  }{\n    t ... ns)\n  }this.in ... ptions)if (!$. ... ip.js')!$.fn.tooltip$.fn.tooltipthrow n ... ip.js')new Err ... ip.js')'Popove ... tip.js'Popover requires tooltip.jsPopover requires tooltipPopover ... '3.4.0'Popover.VERSIONPopover ... >'\n  })Popover.DEFAULTS$.exten ... >'\n  })$.fn.to ... EFAULTS$.fn.to ... tructor{\n    p ... v>'\n  }trigger: 'click'content: ''templat ... </div>'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>Popover ... totype)Popover.prototype$.exten ... totype)$.fn.to ... ototypePopover ... PopoverPopover ... tructorPopover ... LTS\n  }Popover ... efaultsfunctio ... LTS\n  }{\n    r ... LTS\n  }return  ... EFAULTSPopover ... e()\n  }Popover ... Contentvar $ti ... s.tip()$tip    = this.tip()this.tip()this.tipvar tit ... Title()title   ... Title()this.getTitle()this.getTitlevar con ... ntent()content ... ntent()this.getContent()this.getContent$tip.fi ... (title)$tip.fi ... 'text']$tip.fi ... title')$tip.find.popover-titlethis.op ...  'text'this.options.html$tip.fi ... ontent)$tip.fi ... '\n    ]$tip.fi ... ).end()$tip.fi ... h().end$tip.fi ... etach()$tip.fi ... .detach$tip.fi ... ldren()$tip.fi ... hildren$tip.fi ... ntent').popover-content(typeof ... ppend')typeof  ... append'typeof content$tip.re ... ht in')$tip.removeClass'fade t ... ght in'fade top bottom left right inif (!$t ... .hide()!$tip.f ... .html()$tip.fi ... .html()$tip.fi ... ').html$tip.fi ... .hide()$tip.fi ... ').hidePopover ... t()\n  }{\n    r ... t()\n  }return  ... ntent()this.ge ... ntent()Popover ... nt)\n  }{\n    v ... nt)\n  }var $e  ... element$e = this.$elementvar o   ... optionso  = this.optionsreturn  ... ontent)$e.attr ... ontent)$e.attr ... ntent')$e.attr(typeof ... ontent)typeof o.contento.contento.conte ... ($e[0])o.content.call$e[0]Popover ... '))\n  }Popover ... e.arrow{\n    r ... '))\n  }return  ... rrow'))(this.$ ... rrow'))this.$a ... arrow')this.$arrowthis.ti ... arrow')this.tip().find.arrowvar dat ... pover')data    ... pover')$this.d ... pover')bs.popoverif (!da ...  return/destro ... option)/destroy|hide/.testdestroy|hidenew Pop ... ptions)var old ... popoverold = $.fn.popover$.fn.popover$.fn.po ...  Plugin$.fn.po ... Popover$.fn.po ... tructor$.fn.po ... his\n  }$.fn.po ... onflict$.fn.popover = old/opt/src/js/scrollspy.js ========================================================================
 * Bootstrap: scrollspy.js v3.4.0
 * http://getbootstrap.com/javascript/#scrollspy
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  SCROLLSPY CLASS DEFINITION// SCRO ... INITION SCROLLSPY PLUGIN DEFINITION =========================== SCROLLSPY NO CONFLICT// SCRO ... ONFLICT ===================== SCROLLSPY DATA-API// SCRO ... ATA-APIScrollSpy$scrollElement' .nav li > a'offsetsactiveTarget'scroll.bs.scrollspy'getScrollHeightoffsetMethodoffsetBase'target'$href/^#./maxScrollactivate'[data-target="''[href="''li''li.dropdown''activate.bs.scrollspy''bs.scrollspy''load.bs.scrollspy.data-api''[data-spy="scroll"]'{\n    t ... s()\n  }this.$s ... lement)this.$scrollElement$(eleme ... lement)$(eleme ... t.body)$(element).isScrollSpy.DEFAULTSthis.se ... li > a'(this.o ... li > a'(this.o ...  || '')this.op ... t || '' .nav li > anav li > athis.of ...    = []this.offsetsthis.ta ...    = []this.targetsthis.ac ...  = nullthis.activeTargetthis.sc ... t   = 0this.scrollHeightthis.$s ...  this))this.$s ... ment.on'scroll ... ollspy'scroll.bs.scrollspythis.processthis.refresh()this.refreshthis.process()ScrollS ... '3.4.0'ScrollSpy.VERSIONScrollS ...  10\n  }{\n    offset: 10\n  }offset: 10ScrollS ... ht)\n  }ScrollS ... lHeightScrollSpy.prototypefunctio ... ht)\n  }{\n    r ... ht)\n  }return  ... Height)this.$s ... Height)this.$s ... lHeightthis.$s ... ment[0]Math.ma ... Height)this.$b ... lHeightdocumen ... lHeightScrollS ...  })\n  }ScrollS ... refreshthat          = thisvar off ... offset'offsetM ... offset'var off ...     = 0offsetBase    = 0this.sc ... eight()this.ge ... eight()this.getScrollHeightif (!$. ... )\n    }!$.isWi ... ent[0])$.isWin ... ent[0])$.isWindowoffsetM ... sition'offsetB ... llTop()this.$s ... llTop()this.$s ... rollTopthis.$b ...      })this.$b ...   .eachthis.$b ... b[0] })this.$b ...   .sortthis.$b ...    .mapthis.$b ... lector)this.$b ...   .findvar $el   = $(this)$el   = $(this)href  = ... 'href')$el.dat ... 'href')$el.data('target')$el.attr('href')$el.attrvar $hr ... $(href)$href = ... $(href)/^#./.t ... $(href)/^#./.test(href)/^#./.test^#.$(href)return  ... || null($href\n ... || null($href\n ... href]])$href\n  ...  href]]$href\n  ... sible')$href\n  ... .length$href.length$href.is(':visible')$href.is[[$href ...  href]][$href[ ... , href]$href[o ... setBase$href[o ... ]().top$href[o ... thod]()$href[offsetMethod]functio ...  b[0] }{ retur ...  b[0] }return a[0] - b[0]a[0] - b[0]that.of ... his[0])that.offsets.pushthat.offsetsthis[0]that.ta ... his[1])that.targets.pushthat.targetsthis[1]ScrollS ...   }\n  }ScrollS ... processvar scr ... .offsetscrollT ... .offsetthis.$s ... .offsetvar scr ... eight()scrollH ... eight()var max ... eight()maxScro ... eight()this.op ... eight()this.op ... lHeightthis.$s ... eight()this.$s ... .heightvar off ... offsetsoffsets ... offsetsvar tar ... targetstargets ... targetsvar act ... eTargetactiveT ... eTargetthis.sc ... lHeightif (scr ... )\n    }scrollT ... xScrollreturn  ... vate(i)activeT ... vate(i)activeT ... h - 1])(i = ta ... h - 1])i = tar ... th - 1]targets ... th - 1]targets.length - 1targets.lengththis.activate(i)this.activateactiveT ... sets[0]scrollT ... sets[0]offsets[0]return this.clear()this.clear()this.clearfor (i  ... )\n    }i = offsets.lengthoffsets.lengthactiveT ... ets[i])activeT ... i + 1])activeT ... sets[i]activeT ... gets[i]targets[i]scrollT ... sets[i]offsets[i](offset ... i + 1])offsets ... [i + 1]offsets ... definedoffsets[i + 1]scrollT ... [i + 1]this.ac ... ets[i])ScrollS ... y')\n  }ScrollS ... ctivatefunctio ... y')\n  }{\n    t ... y')\n  }this.ac ...  targetvar sel ...  + '"]'selecto ...  + '"]'this.se ...  + '"]'this.se ...  targetthis.se ... href="'this.se ... electorthis.se ... + '"],'this.se ... rget="'[data-target="[href="var act ... ctive')active  ... ctive')$(selec ... ctive')$(selec ... ddClass$(selec ... s('li')$(selec ... parentsactive. ... .lengthactive. ... -menu')active.parentactive\n ... ctive')active\n ... ddClassactive\n ... pdown')active\n ... closestli.dropdownactive. ... llspy')active.trigger'activa ... ollspy'activate.bs.scrollspyScrollS ... e')\n  }ScrollS ... e.clear$(this. ... ctive')$(this. ... veClass$(this. ... tsUntil$(this.selector)var dat ... llspy')data    ... llspy')$this.d ... llspy')bs.scrollspynew Scr ... ptions)var old ... rollspyold = $.fn.scrollspy$.fn.scrollspy$.fn.sc ...  Plugin$.fn.sc ... rollSpy$.fn.sc ... tructor$.fn.sc ... his\n  }$.fn.sc ... onflict$.fn.scrollspy = old'load.b ... ta-api'load.bs.scrollspy.data-api$('[dat ... oll"]')'[data- ... roll"]'[data-spy="scroll"]/opt/src/js/tab.js ========================================================================
 * Bootstrap: tab.js v3.4.0
 * http://getbootstrap.com/javascript/#tabs
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  TAB CLASS DEFINITION// TAB  ... INITION jscs:disable requireDollarBeforejQueryAssignment// jscs ... ignment jscs:enable requireDollarBeforejQueryAssignment reflow for transition// refl ... nsition TAB PLUGIN DEFINITION TAB NO CONFLICT// TAB NO CONFLICT TAB DATA-API// TAB DATA-API ============// ============$ul'ul:not(.dropdown-menu)'$previous'.active:last a'hideEvent'hide.bs.tab''show.bs.tab''hidden.bs.tab''shown.bs.tab''> .active''> .fade''> .dropdown-menu > .active''[data-toggle="tab"]''bs.tab''click.bs.tab.data-api''[data-toggle="pill"]'functio ... ler)\n\n}{\n  'us ... ler)\n\n}var Tab ... ent\n  }Tab = f ... ent\n  }functio ... ent\n  }{\n    / ... ent\n  }this.el ... lement)this.elementTab.VER ... '3.4.0'Tab.VERSIONTab.TRA ... N = 150Tab.TRA ... URATIONTab.pro ...  })\n  }Tab.prototype.showvar $th ... element$this   ... elementvar $ul ... menu)')$ul     ... menu)')$this.c ... menu)')'ul:not ... -menu)'ul:not(.dropdown-menu)ul:not(.dropdown-menu)$this.data('target')$this.p ... ctive')$this.p ... asClass$this.parent('li')var $pr ... ast a')$previo ... ast a')$ul.fin ... ast a')$ul.find.active:last aactive:last avar hid ... \n    })hideEve ... \n    })hide.bs.tabrelated ... this[0]$this[0]var sho ... \n    })showEve ... \n    })show.bs.tabrelated ... ious[0]$previous[0]$previo ... eEvent)$previous.trigger$this.t ... wEvent)hideEve ... ented()hideEve ... eventedvar $ta ... lector)$target ... lector)this.ac ... ), $ul)$this.closest('li')this.ac ... \n    })$target.parent()$target.parent$previo ...      })type: ' ... bs.tab'hidden.bs.tab$this.t ...      })type: 'shown.bs.tab'shown.bs.tabTab.pro ... n')\n  }Tab.pro ... ctivatefunctio ... n')\n  }{\n    v ... n')\n  }contain ... ctive')container.find> .activevar tra ... length)transit ... length)callbac ... length)callbac ... nsition($activ ... length)$active ... .length$active ... 'fade')$active.length$active.hasClass!!conta ... .length!contai ... .lengthcontain ... .lengthcontain ... .fade')> .fade$active ...  false)$active ...   .attr$active ... tab"]')$active ...   .find$active ...  .end()$active ...    .end$active ... veClass'> .dro ... active'> .dropdown-menu > .activedropdown-menu > '[data- ... "tab"]'[data-toggle="tab"]element ... , true)element ...   .attrelement ... tab"]')element ...   .findelement ... ctive')element ... ddClasselement ... etWidthelement[0]element ... s('in')element.addClasselement ... 'fade')element.removeClassif (ele ...       }element ... .lengthelement ... -menu')element.parentelement ...  .end()element ...    .endelement ... pdown')element ... closest$active ...  next()$active ... nsition$active ... , next)next()$active ... s('in')var dat ... s.tab')data  = ... s.tab')$this.data('bs.tab')bs.tabdata = new Tab(this)new Tab(this)var old = $.fn.tabold = $.fn.tab$.fn.tab$.fn.ta ...  Plugin$.fn.ta ... r = Tab$.fn.tab.Constructor$.fn.ta ... his\n  }$.fn.tab.noConflict$.fn.tab = oldvar cli ... w')\n  }clickHa ... w')\n  }functio ... w')\n  }{\n    e ... w')\n  }Plugin. ... 'show')click.bs.tab.data-api'[data- ... pill"]'[data-toggle="pill"]/opt/src/js/tests/index.html/opt/src/js/teststests Disable jQuery event aliases to ensure we don't accidentally use any of them// Disa ... of themeventAliases'blur''focusin''focusout''resize''unload''dblclick''mousedown''mouseup''mousemove''mouseover''mouseout''mouseenter''mouseleave''select''submit''keydown''keypress''keyup''error''contextmenu''bind''unbind''delegate''undelegate'eventAlias'Using the ".''()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js'var eve ...       ]eventAl ...       ]unloadcontextmenui < eve ... .lengtheventAliases.lengthvar eve ... ases[i]eventAl ... ases[i]eventAliases[i]$.fn[ev ...       }$.fn[eventAlias]throw n ... md#js')new Err ... md#js')'Using  ... .md#js''Using  ... ntAliasUsing the ".Using the "'()" me ... .md#js'()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method See https://githubcom/twbs/bootstrap/blob/master/CONTRIBUTINGmd#js See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit// See  ... h-qunit Require assert.expect in each test// Requ ... ch test Cleanup// Cleanup Display fixture on-screen on iOS to avoid false positives// Disp ... sitives Disable deprecated global QUnit method aliases in preparation for QUnit v2// Disa ... Unit v2QUnitrequireExpectstestResultsglobal_test_resultstestStarttestDetailstestDone'#qunit-fixture''#modal-test, .modal-backdrop'/iPhone|iPad|iPod/methodNames'async''asyncTest''deepEqual''equal''expect''notDeepEqual''notEqual''notPropEqual''notStrictEqual''ok''propEqual''push''stop''strictEqual''throws'methodNamevar log = []log = []QUnit.c ...  = trueQUnit.c ... ExpectsQUnit.configQUnit.d ...      })QUnit.donevar tests = []tests = []len = log.lengthlog.lengthvar details = log[i]details = log[i]log[i]tests.p ...      })tests.pushname: details.namedetails.nameresult: ... .resultdetails.resultexpecte ... xpecteddetails.expectedactual: ... .actualdetails.actualdetails.sourcetestRes ... = teststestResults.testswindow. ... Resultswindow. ... resultsQUnit.t ...      })QUnit.testStart$(windo ... lTop(0)$(window).scrollTopQUnit.l ...      })QUnit.log!details.resultdetails ... ls.nametestDetails.namelog.push(details)log.pushQUnit.testDone$('#qun ... empty()$('#qun ... ).empty$('#qunit-fixture')#qunit-fixture$('#mod ... emove()$('#mod ... .remove$('#mod ... kdrop')'#modal ... ckdrop'#modal-test, .modal-backdrop#modal-test, modal-backdropif (/iP ...       }/iPhone ... rAgent)/iPhone ... d/.testiPhone|iPad|iPodiPhoneiPadiPodQUnit.b ...      })QUnit.begin$('#qun ... t: 0 })$('#qun ... e').css{ top: 0, left: 0 }top: 0left: 0$('#qun ... : '' }){ top:  ... t: '' }top: ''left: ''var met ...      ];methodN ...       ]asyncTestnotPropEqualpropEquali < met ... .lengthmethodNames.lengthvar met ... mes[i];methodN ... ames[i]methodNames[i]window[ ... efined;window[ ... definedwindow[methodName]$.suppo ... = false<!-- jQuery --><!-- QUnit --><!-- Plugin sources --><!-- Unit tests -->vendor/jquery.min.jsvendor/qunit.cssvendor/qunit.jsunit/alert.jsunit/button.jsunit/carousel.jsunit/collapse.jsunit/dropdown.jsunit/modal.jsunit/scrollspy.jsunit/tab.jsunit/tooltip.jsunit/popover.jsunit/affix.jsqunit-containerqunit-fixture/opt/src/js/tests/unit/affix.js/opt/src/js/tests/unit Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode// Run  ... ct mode for testing in a browser// for  ... browser'affix plugin''should be defined on jquery object''affix method is defined'bootstrapAffix'should provide no conflict''affix was set back to undefined (org value)''should return jquery collection containing the element''<div/>'$affix'returns jquery collection''collection contains element''should exit early if element is not visible''<div style="display: none"/>''affix class was not added''should trigger affixed event after affix'templateHTML'<div id="affixTarget">''<ul>''<li>Please affix</li>''<li>And unaffix</li>''</ul>''<div id="affixAfter" style="height: 20000px; display: block;"/>''#affixTarget''#affixTarget ul''affix.bs.affix''affix event fired''affixed.bs.affix''affixed event fired''#affixTarget, #affixAfter''should affix-top when scrolling up to offset when parent has padding''<div id="padding-offset" style="padding-top: 20px;">''<div id="affixTopTarget">''<p>Testing affix-top class is added</p>''<div style="height: 1000px; display: block;"/>''#affixTopTarget''affixed-top.bs.affix''affix-top''affix-top class applied''#padding-offset'250$(funct ...   })\n}){\n  'us ... \n  })\n}QUnit.m ... lugin')QUnit.moduleaffix pluginQUnit.t ... ')\n  })QUnit.test'should ... object'should be defined on jquery object{\n    a ... d')\n  }assert.expect(1)assert.expectassert. ... fined')assert.ok$(docum ... ).affix'affix  ... efined'affix method is definedQUnit.m ...  }\n  }){\n    b ...   }\n  }beforeE ... )\n    }$.fn.bo ... flict()$.fn.bootstrapAffix$.fn.af ... flict()afterEa ... x\n    }functio ... x\n    }{\n      ... x\n    }$.fn.af ... apAffixdelete  ... apAffix'should ... nflict'should provide no conflictfunctio ... )')\n  }{\n    a ... )')\n  }assert. ... alue)')assert.strictEqual'affix  ... value)'affix was set back to undefined (org value)affix was set back to undefined (org value)org value'should ... lement'should return jquery collection containing the element{\n    a ... t')\n  }assert.expect(2)var $el ... div/>')$el = $('<div/>')$('<div/>')<div/>var $af ... Affix()$affix  ... Affix()$el.bootstrapAffix()$el.bootstrapAffixassert. ... ction')$affix instanceof $'return ... ection'returns jquery collectionassert. ... ement')$affix[0]$el[0]'collec ... lement'collection contains element'should ... isible'should exit early if element is not visible$('<div ... Affix()$('<div ... apAffix$('<div ... ne"/>')'<div s ... one"/>'<div style="display: none"/>$affix. ... ition()$affix. ... osition$affix. ... affix')$affix.dataassert. ... added')!$affix ... affix')$affix.hasClass'affix  ...  added'affix class was not addedQUnit.t ... 0)\n  })'should ...  affix'should trigger affixed event after affix{\n    a ...  0)\n  }var don ... async()done =  ... async()assert.async()assert.asyncvar tem ... ck;"/>'templat ... ck;"/>''<div i ... ck;"/>''<div i ... '</ul>''<div i ... x</li>''<div i ...  '<ul>''<div i ... rget">'<div id="affixTarget"><ul>'<li>Pl ... x</li>'<li>Please affix</li>'<li>An ... x</li>'<li>And unaffix</li></ul><div id="affixAfter" style="height: 20000px; display: block;"/>$(templ ... t.body)$(templ ... ppendTo$(templateHTML)$('#aff ... \n    })$('#aff ... apAffix$('#affixTarget')#affixTargetoffset: ... ition()$('#aff ... ition()$('#aff ... osition$('#affixTarget ul')#affixTarget ul$('#aff ...      })$('#aff ...   }).on$('#aff ...     .onaffix.bs.affixassert. ... fired')affix event firedaffixed.bs.affix'affixe ...  fired'affixed event fired$('#aff ... emove()$('#aff ... .remove$('#aff ... After')'#affix ... xAfter'#affixTarget, #affixAfterdone()functio ... r\n    }window. ... Height)window.scrollTosetTime ...  }, 16)window.scroll(0, 0)window.scroll'should ... adding'should affix-top when scrolling up to offset when parent has paddingfunctio ... 50)\n  }{\n    a ... 50)\n  }var tem ... </div>''<div i ... ed</p>''<div i ... 0px;">'<div id="padding-offset" style="padding-top: 20px;"><div id="affixTopTarget">'<p>Tes ... ed</p>'<p>Testing affix-top class is added</p>'<div s ... ck;"/>'<div style="height: 1000px; display: block;"/>$('#affixTopTarget')#affixTopTargetoffset: ... om: 0 }{ top:  ... om: 0 }top: 120bottom: 0'affixe ... .affix'affixed-top.bs.affixaffixed-topassert. ... plied')$('#aff ... x-top')$('#aff ... asClassaffix-top'affix- ... pplied'affix-top class applied$('#pad ... emove()$('#pad ... .remove$('#padding-offset')#padding-offsetsetTime ... }, 250)window. ... 0, 119)/opt/src/js/tests/unit/alert.js'alert plugin''alert method is defined''alert'bootstrapAlert'alert was set back to undefined (org value)'$alert'should fade element out on clicking .close'alertHTML'<div class="alert alert-danger fade in">''<a class="close" href="#" data-dismiss="alert">×</a>''<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>''.close''remove .in class on .close click''should remove element when clicking .close''element added to dom''element removed from dom''should not fire closed when close is prevented''<div class="alert"/>''close event fired''closed event fired''close'$(funct ...  })\n\n})alert plugin$(docum ... ).alert'alert  ... efined'alert method is defined$.fn.bootstrapAlert$.fn.al ... flict()afterEa ... t\n    }functio ... t\n    }$.fn.al ... apAlertdelete  ... apAlert'alert  ... value)'alert was set back to undefined (org value)alert was set back to undefined var $al ... Alert()$alert  ... Alert()$el.bootstrapAlert()$el.bootstrapAlert$alert instanceof $$alert[0]'should ... .close'should fade element out on clicking .closeshould fade element out on clicking functio ... k')\n  }{\n    a ... k')\n  }var ale ... </div>'alertHT ... </div>''<div c ... d.</p>''<div c ... >\u00d7</a>''<div c ... e in">'<div class="alert alert-danger fade in">'<a cla ... >\u00d7</a>'<a class="close" href="#" data-dismiss="alert">×</a>'<p><st ... d.</p>'<p><strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.</p><p><strong>Holy guacamole!</strong> Best check yo self, you're not looking too good$(alert ... Alert()$(alert ... apAlert$(alertHTML)$alert. ... click')$alert. ... trigger$alert. ... close')$alert.find.closeassert. ... click')$alert. ... s('in')$alert.hasClass'remove ...  click'remove .in class on .close clickremove in class on close clickshould remove element when clicking .closeshould remove element when clicking functio ... m')\n  }{\n    a ... m')\n  }$(alert ... xture')$(alert ... ppendToassert. ... o dom')assert.notEqual$('#qun ... .length$('#qun ... alert')$('#qun ... ').find'elemen ... to dom'element added to domassert. ... m dom')'elemen ... om dom'element removed from dom'should ... vented'should not fire closed when close is prevented{\n    a ... e')\n  }$('<div ... close')$('<div ... apAlert$('<div ...      })$('<div ...     .on$('<div ... rt"/>')'<div c ... ert"/>'<div class="alert"/>close event firedclosed event fired/opt/src/js/tests/unit/button.js clicking an already checked radio should not un-check it// clic ... heck it'button plugin''button method is defined''button'bootstrapButton'button was set back to undefined (org value)''should return set state to loading''<button class="btn" data-loading-text="fat">mdo</button>''mdo''btn text equals mdo''fat''btn text equals fat''btn is disabled''btn has disabled class''should return reset state'doneOnedoneTwo'btn is not disabled''btn does not have disabled class''should work with an empty string as reset state''<button class="btn" data-loading-text="fat"/>''btn text equals ""''should toggle active''<button class="btn" data-toggle="button">mdo</button>''btn does not have active class''btn has class active''should toggle active when btn children are clicked'$inner'<i/>''should toggle aria-pressed''<button class="btn" data-toggle="button" aria-pressed="false">redux</button>''btn aria-pressed state is false''btn aria-pressed state is true''should toggle aria-pressed when btn children are clicked''should check for closest matching toggle'groupHTML'<div class="btn-group" data-toggle="buttons">''<label class="btn btn-primary active">''<input type="radio" name="options" id="option1" checked="true"> Option 1''</label>''<label class="btn btn-primary">''<input type="radio" name="options" id="option2"> Option 2''<input type="radio" name="options" id="option3"> Option 3'$group$btn1$btn2'btn1 has active class''btn1 is checked''btn2 does not have active class''btn2 is not checked''btn1 does not have active class''btn1 is not checked''btn2 has active class''btn2 is checked'button plugin$(docum ... .button'button ... efined'button method is defined$.fn.bootstrapButton$.fn.bu ... flict()afterEa ... n\n    }functio ... n\n    }$.fn.bu ... pButtondelete  ... pButton'button ... value)'button was set back to undefined (org value)button was set back to undefined var $bu ... utton()$button ... utton()$el.boo ... utton()$el.bootstrapButton$button instanceof $$button[0]'should ... oading'should return set state to loadingassert.expect(4)var $bt ... tton>')$btn =  ... tton>')$('<but ... tton>')<button class="btn" data-loading-text="fat">mdo</button>assert. ... s mdo')$btn.html()$btn.html'btn te ... ls mdo'btn text equals mdo$btn.bo ... ading')$btn.bootstrapButtonassert. ... s fat')'btn te ... ls fat'btn text equals fatassert. ... abled')$btn[0] ... abled')$btn[0].hasAttribute$btn[0]btn is disabledassert. ... class')$btn.ha ... abled')$btn.hasClass'btn ha ...  class'btn has disabled class'should ...  state'should return reset stateassert.expect(7)doneOne ... async()doneOne()doneTwo ... async()$btn.bo ... reset')!$btn[0 ... abled')'btn is ... sabled'btn is not disabled!$btn.h ... abled')'btn do ...  class'btn does not have disabled classdoneTwo()should work with an empty string as reset statevar $bt ... at"/>')$btn =  ... at"/>')$('<but ... at"/>')'<butto ... fat"/>'<button class="btn" data-loading-text="fat"/>assert. ... ls ""')btn text equals ""'should ... active'should toggle active<button class="btn" data-toggle="button">mdo</button>!$btn.h ... ctive')$btn.ha ... ctive')btn does not have active class$btn.bo ... oggle')assert. ... ctive')'btn ha ... active'btn has class active'should ... licked'should toggle active when btn children are clickedvar $in ... '<i/>')$inner = $('<i/>')$('<i/>')<i/>$btn\n   ... xture')$btn\n   ... ppendTo$btn\n   ... $inner)$btn\n      .append$inner. ... click')$inner.trigger'should ... ressed'should toggle aria-pressed<button class="btn" data-toggle="button" aria-pressed="false">redux</button>assert. ... false')$btn.at ... essed')$btn.attr'btn ar ...  false'btn aria-pressed state is falseassert. ...  true')'btn ar ... s true'btn aria-pressed state is trueshould toggle aria-pressed when btn children are clicked'should ... toggle'should check for closest matching toggleassert.expect(12)var gro ... </div>'groupHT ... </div>''<div c ... label>''<div c ... tion 3''<div c ... mary">''<div c ... tion 2''<div c ... tion 1''<div c ... tive">''<div c ... tons">'<div class="btn-group" data-toggle="buttons">'<label ... tive">'<label class="btn btn-primary active">'<input ... tion 1'<input type="radio" name="options" id="option1" checked="true"> Option 1</label>'<label ... mary">'<label class="btn btn-primary">'<input ... tion 2'<input type="radio" name="options" id="option2"> Option 2'<input ... tion 3'<input type="radio" name="options" id="option3"> Option 3var $gr ... xture')$group  ... xture')$(group ... xture')$(group ... ppendTo$(groupHTML)var $bt ... ).eq(0)$btn1 = ... ).eq(0)$group. ... ).eq(0)$group.children().eq$group.children()$group.childrenvar $bt ... ).eq(1)$btn2 = ... ).eq(1)$group. ... ).eq(1)$btn1.h ... ctive')$btn1.hasClass'btn1 h ...  class'btn1 has active classassert. ... ecked')$btn1.f ... ecked')$btn1.f ... ').prop$btn1.find('input')$btn1.findbtn1 is checked!$btn2. ... ctive')$btn2.h ... ctive')$btn2.hasClass'btn2 d ...  class'btn2 does not have active class!$btn2. ... ecked')$btn2.f ... ecked')$btn2.f ... ').prop$btn2.find('input')$btn2.find'btn2 i ... hecked'btn2 is not checked$btn2.f ... click')$btn2.f ... trigger!$btn1. ... ctive')'btn1 d ...  class'btn1 does not have active class!$btn1. ... ecked')'btn1 i ... hecked'btn1 is not checked'btn2 h ...  class'btn2 has active classbtn2 is checked/opt/src/js/tests/unit/carousel.js'carousel plugin''should be defined on jQuery object''carousel method is defined'bootstrapCarousel'carousel was set back to undefined (orig value)''should not fire slid when slide is prevented''<div class="carousel"/>''slide event fired''slid event fired''should reset when slide is prevented'carouselHTML'<div id="carousel-example-generic" class="carousel slide">''<ol class="carousel-indicators">''<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>''<li data-target="#carousel-example-generic" data-slide-to="1"/>''<li data-target="#carousel-example-generic" data-slide-to="2"/>''</ol>''<div class="carousel-inner">''<div class="item active">''<div class="carousel-caption"/>''<div class="item">''<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>''<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>''.item:eq(0)''first item still active''.carousel-indicators li:eq(0)''first indicator still active''.item:eq(1)''second item active''.carousel-indicators li:eq(1)''second indicator active''should fire slide event with direction''<div id="myCarousel" class="carousel slide">''<img alt="">''<div class="carousel-caption">''<h4>First Thumbnail label</h4>''<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec ''id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ''ultricies vehicula ut id elit.</p>''<h4>Second Thumbnail label</h4>''<h4>Third Thumbnail label</h4>''<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>''<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>''direction present on next''direction is left on next''direction present on prev''direction is right on prev''should fire slid event with direction''should fire slide event with relatedTarget''relatedTarget present''item''relatedTarget has class "item"''should fire slid event with relatedTarget''should set interval from data attribute''data-interval'1814'data-modal''foobar''even if there is an data-modal attribute set'1860'attributes should be read only on initialization''data attribute has higher priority than default options''should skip over non-items when using item indices''<div id="myCarousel" class="carousel" data-interval="1814">''<script type="text/x-metamorph" id="thingy"/>'$template'first item active''should skip over non-items when using next/prev methods''should go to previous item if left arrow key is pressed''<div id="myCarousel" class="carousel" data-interval="false">''<div id="first" class="item">''<div id="second" class="item active">''<div id="third" class="item">''should go to next item if right arrow key is pressed''<div id="first" class="item active">''<div id="second" class="item">''should support disabling the keyboard navigation''<div id="myCarousel" class="carousel" data-interval="false" data-keyboard="false">''first item still active after right arrow press''first item still active after left arrow press''should ignore keyboard events within <input>s and <textarea>s''<input type="text" id="in-put">''<textarea id="text-area"></textarea>''#in-put'$textarea'#text-area''found <input>''found <textarea>''first item still active after right arrow press in <input>''first item still active after left arrow press in <input>''first item still active after right arrow press in <textarea>''first item still active after left arrow press in <textarea>''should only add mouseenter and mouseleave listeners when not on mobile'isMobile'<div id="myCarousel" class="carousel" data-interval="false" data-pause="hover">''events''does'' not'' listen for '' events''should wrap around from end to start when wrap option is true''<div id="carousel-example-generic" class="carousel slide" data-wrap="true">''<div class="item active" id="one">''<div class="item" id="two">''<div class="item" id="three">'getActiveId'two''carousel slid from 1st to 2nd slide''three''carousel slid from 2nd to 3rd slide''one''carousel wrapped around and slid from 3rd to 1st slide''should wrap around from start to end when wrap option is true''carousel wrapped around and slid from 1st to 3rd slide''should stay at the end when the next method is called and wrap is false''<div id="carousel-example-generic" class="carousel slide" data-wrap="false">''carousel slid when it should not have slid''carousel did not wrap around and stayed on 3rd slide''should stay at the start when the prev method is called and wrap is false''carousel did not wrap around and stayed on 1st slide'carousel pluginshould be defined on jQuery object$(docum ... arousel'carous ... efined'carousel method is defined$.fn.bo ... arousel$.fn.ca ... flict()afterEa ... l\n    }functio ... l\n    }delete  ... arousel'carous ... value)'carousel was set back to undefined (orig value)carousel was set back to undefined (orig value)orig valuevar $ca ... ousel()$carous ... ousel()$el.boo ... ousel()$el.boo ... arousel$carous ... nceof $$carousel[0]should not fire slid when slide is prevented$('<div ... 'next')$('<div ... arousel$('<div ... el"/>')'<div c ... sel"/>'<div class="carousel"/>slide event firedslid event firedshould reset when slide is preventedassert.expect(6)var car ... </div>'carouse ... </div>''<div i ... ext"/>''<div i ... rev"/>''<div i ... ion"/>''<div i ... item">''<div i ... tive">''<div i ... nner">''<div i ... '</ol>''<div i ... ="2"/>''<div i ... ="1"/>''<div i ... ive"/>''<div i ... tors">''<div i ... lide">'<div id="carousel-example-generic" class="carousel slide">'<ol cl ... tors">'<ol class="carousel-indicators">'<li da ... ive"/>'<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'<li da ... ="1"/>'<li data-target="#carousel-example-generic" data-slide-to="1"/>'<li da ... ="2"/>'<li data-target="#carousel-example-generic" data-slide-to="2"/></ol>'<div c ... nner">'<div class="carousel-inner"><div class="item active">'<div c ... ion"/>'<div class="carousel-caption"/><div class="item">'<a cla ... rev"/>'<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>'<a cla ... ext"/>'<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>var $ca ... elHTML)$carous ... elHTML)$(carouselHTML)$carous ... 'next')$carous ... arousel$carous ...      })$carous ...    .one$carousel\n      .one$carous ... ctive')$carous ... 0)').is$carous ... eq(0)')$carousel.find.item:eq(0)item:eq(0)'first  ... active'first item still active'.carou ... :eq(0)'.carousel-indicators li:eq(0)carousel-indicators li:eqfirst indicator still active!$carou ... ctive')$carous ... 1)').is$carous ... eq(1)').item:eq(1)(1)second item active'.carou ... :eq(1)'.carousel-indicators li:eq(1)'second ... active'second indicator active'should ... ection'should fire slide event with direction'<div i ... o;</a>''<div i ... t.</p>''<div i ...  nibh ''<div i ... Donec ''<div i ... l</h4>''<div i ... tion">''<div i ... lt="">'<div id="myCarousel" class="carousel slide"><img alt="">'<div c ... tion">'<div class="carousel-caption">'<h4>Fi ... l</h4>'<h4>First Thumbnail label</h4>'<p>Cra ... Donec '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam Donec 'id eli ...  nibh 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh id elit non mi porta gravida at eget metus Nullam id dolor id nibh 'ultric ... t.</p>'ultricies vehicula ut id elit.</p>ultricies vehicula ut id elit'<h4>Se ... l</h4>'<h4>Second Thumbnail label</h4>'<h4>Th ... l</h4>'<h4>Third Thumbnail label</h4>'<a cla ... o;</a>'<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a><a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>assert. ...  next')e.direction'direct ... n next'direction present on nextdirection is left on next$carous ... 'prev')assert. ...  prev')'direct ... n prev'direction present on prevdirection is right on prevshould fire slid event with direction'should ... Target'should fire slide event with relatedTarget$(templ ... 'next')$(templ ... arousel$(templ ...      })$(templ ...     .on$(template)assert. ... esent')e.relatedTarget'relate ... resent'relatedTarget presentassert. ... item"')$(e.rel ... 'item')$(e.rel ... asClass$(e.relatedTarget)'relate ... "item"'relatedTarget has class "item"should fire slid event with relatedTargetQUnit.t ... ()\n  })'should ... ribute'should set interval from data attribute{\n    a ... e()\n  }var $ca ... teHTML)$carous ... teHTML)$carous ... , 1814)$carousel.attrdata-interval$carous ... 'body')$carousel.appendTo$('[dat ... click')$('[dat ... trigger$('[dat ... first()$('[dat ... ).first$('[data-slide]')assert. ... , 1814)$carous ... nterval$carous ... options$carous ... ousel')$carousel.remove()$carousel.remove$carous ... oobar')$carous ... ').attrdata-modalfoobarassert. ... e set')'even i ... te set'even if there is an data-modal attribute set$carous ... , 1860)assert. ... ation')'attrib ... zation'attributes should be read only on initialization$carous ...  false)$carous ... usel(1)assert. ... tions')'data a ... ptions'data attribute has higher priority than default options'should ... ndices'should skip over non-items when using item indices'<div i ... ngy"/>''<div i ... 1814">'<div id="myCarousel" class="carousel" data-interval="1814">'<scrip ... ngy"/>'<script type="text/x-metamorph" id="thingy"/>var $te ... teHTML)$templa ... teHTML)$templa ... ousel()$templa ... arousel$templa ... em')[0]$templa ... .item')$template.find$templa ... ve')[0]$templa ... ctive')first item active$templa ... usel(1)$templa ... em')[1]'should ... ethods'should skip over non-items when using next/prev methods$templa ... 'next')should go to previous item if left arrow key is pressed'<div i ... alse">'<div id="myCarousel" class="carousel" data-interval="false"><div id="first" class="item"><div id="second" class="item active"><div id="third" class="item">$templa ...  37 }))$template.trigger$.Event ... : 37 }){ which: 37 }which: 37should go to next item if right arrow key is pressed<div id="first" class="item active"><div id="second" class="item">$templa ...  39 }))$.Event ... : 39 }){ which: 39 }which: 39'should ... gation'should support disabling the keyboard navigation{\n    a ... s')\n  }assert.expect(3)<div id="myCarousel" class="carousel" data-interval="false" data-keyboard="false">assert. ... press')'first  ...  press'first item still active after right arrow pressfirst item still active after left arrow press'should ... area>s'should ignore keyboard events within <input>s and <textarea>sfunctio ... >')\n  }{\n    a ... >')\n  }'<div i ... tarea>''<div i ... -put">''<input ... -put">'<input type="text" id="in-put">'<texta ... tarea>'<textarea id="text-area"></textarea>var $in ... n-put')$input  ... n-put')$templa ... n-put')#in-putvar $te ... -area')$textar ... -area')$templa ... -area')#text-areaassert. ... nput>')$input.lengthfound <input>assert. ... area>')$textarea.lengthfound <textarea>$input. ...  39 }))'first  ... input>'first item still active after right arrow press in <input>$input. ...  37 }))first item still active after left arrow press in <input>$textar ...  39 }))$textarea.trigger'first  ... tarea>'first item still active after right arrow press in <textarea>$textar ...  37 }))first item still active after left arrow press in <textarea>QUnit.t ... })\n  })'should ... mobile'should only add mouseenter and mouseleave listeners when not on mobile{\n    a ...  })\n  }var isM ... ElementisMobil ... Element'<div i ... over">'<div id="myCarousel" class="carousel" data-interval="false" data-pause="hover">var $te ... ousel()$(templ ... ousel()['mouse ... seout']assert. ... vents')type in ... vents')$._data ... vents')$._data$template[0]!isMobile'does'  ... events''does'  ...  + type'does'  ... n for ''does'  ... ' : '')does(isMobi ... ' : '')isMobil ... t' : '' not listen for  events'should ... s true'should wrap around from end to start when wrap option is true'<div i ... hree">''<div i ... "two">''<div i ... "one">''<div i ... true">'<div id="carousel-example-generic" class="carousel slide" data-wrap="true">'<div c ... "one">'<div class="item active" id="one">'<div c ... "two">'<div class="item" id="two">'<div c ... hree">'<div class="item" id="three">var get ... 'id') }getActi ... 'id') }functio ... 'id') }{ retur ... 'id') }return  ... r('id')$carous ... r('id')assert. ... slide')getActiveId()'carous ...  slide'carousel slid from 1st to 2nd slidecarousel slid from 2nd to 3rd slidecarousel wrapped around and slid from 3rd to 1st slideshould wrap around from start to end when wrap option is true{\n    a ... v')\n  }$carousel\n      .oncarousel wrapped around and slid from 1st to 3rd slide'should ...  false'should stay at the end when the next method is called and wrap is false<div id="carousel-example-generic" class="carousel slide" data-wrap="false">assert. ...  slid')'carous ... e slid'carousel slid when it should not have slidcarousel did not wrap around and stayed on 3rd slideshould stay at the start when the prev method is called and wrap is falsecarousel did not wrap around and stayed on 1st slide/opt/src/js/tests/unit/collapse.js'collapse plugin''collapse method is defined'bootstrapCollapse'collapse was set back to undefined (org value)'$collapse'should show a collapsed element''<div class="collapse"/>''has class "in"'/height/i'has height reset''should hide a collapsed element''does not have class "in"''should not fire shown when show is prevented''show event fired''shown event fired''should reset style to auto after finishing opening collapse''<div class="collapse" style="height: 0px"/>''0px''height is 0px''height is auto''should remove "collapsed" class from target when collapse is shown''<a role="button" data-toggle="collapse" class="collapsed" href="#test1"/>''<div id="test1"/>''target does not have collapsed class''should add "collapsed" class to target when collapse is hidden''<a role="button" data-toggle="collapse" href="#test1"/>''<div id="test1" class="in"/>''target has collapsed class''should remove "collapsed" class from all triggers targeting the collapse when the collapse is shown'$alt'target trigger does not have collapsed class''alt trigger does not have collapsed class''should add "collapsed" class to all triggers targeting the collapse when the collapse is hidden''alt trigger has collapsed class''should not close a collapse when initialized with "show" option if already shown'$test'should open a collapse when initialized with "show" option if not already shown''<div id="test1" />''should not show a collapse when initialized with "hide" option if already hidden''<div class="collapse"></div>''showing a previously-uninitialized hidden collapse when the "hide" method is called''should hide a collapse when initialized with "hide" option if not already hidden''<div class="collapse in"></div>''hiding a previously-uninitialized shown collapse when the "hide" method is called''should remove "collapsed" class from active accordion target'accordionHTML'<div class="panel-group" id="accordion">''<div class="panel"/>'$groups$target1'<a role="button" data-toggle="collapse" href="#body1" data-parent="#accordion"/>''<div id="body1" class="in"/>'$target2'<a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent="#accordion"/>''<div id="body2"/>'$target3'<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent="#accordion"/>''<div id="body3"/>''inactive target 1 does have class "collapsed"''inactive target 2 does have class "collapsed"''active target 3 does not have class "collapsed"''should allow dots in data-parent''<div class="panel-group accordion">''<a role="button" data-toggle="collapse" href="#body1" data-parent=".accordion"/>''<a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent=".accordion"/>''<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent=".accordion"/>''should set aria-expanded="true" on target when collapse is shown''<a role="button" data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>''aria-expanded on target is "true"''should set aria-expanded="false" on target when collapse is hidden''<a role="button" data-toggle="collapse" href="#test1" aria-expanded="true"/>''aria-expanded on target is "false"''should set aria-expanded="true" on all triggers targeting the collapse when the collapse is shown''aria-expanded on alt is "true"''should set aria-expanded="false" on all triggers targeting the collapse when the collapse is hidden''aria-expanded on alt is "false"''should change aria-expanded from active accordion target to "false" and set the newly active one to "true"''<div id="body1" aria-expanded="true" class="in"/>''<div id="body2" aria-expanded="false"/>''<div id="body3" aria-expanded="false"/>''inactive target 1 has aria-expanded="false"''inactive target 2 has aria-expanded="false"''active target 3 has aria-expanded="false"''should not fire show event if show is prevented because other element is still transitioning''<div id="accordion">'showFired'<div id="body1" class="collapse"/>''<a role="button" data-toggle="collapse" href="#body2" data-parent="#accordion"/>'$body2'<div id="body2" class="collapse"/>''in collapsing''show event did not fire''should add "collapsed" class to target when collapse is hidden via manual invocation''should remove "collapsed" class from target when collapse is shown via manual invocation'collapse plugin$(docum ... ollapse'collap ... efined'collapse method is defined$.fn.bo ... ollapse$.fn.co ... flict()afterEa ... e\n    }functio ... e\n    }delete  ... ollapse'collap ... value)'collapse was set back to undefined (org value)collapse was set back to undefined var $co ... lapse()$collap ... lapse()$el.boo ... lapse()$el.boo ... ollapse$collap ... nceof $$collapse[0]should show a collapsed elementvar $el ... 'show')$el = $ ... 'show')$('<div ... 'show')$('<div ... ollapse$('<div ... se"/>')'<div c ... pse"/>'<div class="collapse"/>assert. ...  "in"')$el.hasClass('in')$el.hasClasshas class "in"assert. ... reset')!/heigh ... tyle'))/height ... tyle'))/height/i.test$el.attr('style')has height resetshould hide a collapsed elementfunctio ... "')\n  }{\n    a ... "')\n  }var $el ... 'hide')$el = $ ... 'hide')$('<div ... 'hide')!$el.hasClass('in')'does n ... s "in"'does not have class "in"should not fire shown when show is prevented{\n    a ... w')\n  }show event firedshown event fired'should ... llapse'should reset style to auto after finishing opening collapse$('<div ... px"/>')'<div c ... 0px"/>'<div class="collapse" style="height: 0px"/>assert. ... s 0px')this.style.height0pxheight is 0pxassert. ...  auto')height is auto'should ...  shown'should remove "collapsed" class from target when collapse is shownvar $ta ... xture')$target ... xture')$('<a r ... xture')$('<a r ... ppendTo$('<a r ... t1"/>')'<a rol ... st1"/>'<a role="button" data-toggle="collapse" class="collapsed" href="#test1"/>$('<div ... xture')$('<div ... t1"/>')<div id="test1"/>!$targe ... apsed')$target ... apsed')'target ...  class'target does not have collapsed class$target ... click')$target.trigger'should ... hidden'should add "collapsed" class to target when collapse is hidden<a role="button" data-toggle="collapse" href="#test1"/>$('<div ... in"/>')'<div i ... "in"/>'<div id="test1" class="in"/>target has collapsed classshould remove "collapsed" class from all triggers targeting the collapse when the collapse is shownvar $al ... xture')$alt =  ... xture')target trigger does not have collapsed class!$alt.h ... apsed')$alt.ha ... apsed')$alt.hasClass'alt tr ...  class'alt trigger does not have collapsed classshould add "collapsed" class to all triggers targeting the collapse when the collapse is hiddenalt trigger has collapsed classshould not close a collapse when initialized with "show" option if already shownassert.expect(0)var $te ...      })$test = ...      })assert.ok(false)$test.b ... 'show')$test.b ... ollapsesetTimeout(done, 0)should open a collapse when initialized with "show" option if not already shown$('<div ... 1" />')<div id="test1" />assert.ok(true)should not show a collapse when initialized with "hide" option if already hidden<div class="collapse"></div>assert. ... alled')'showin ... called'showing a previously-uninitialized hidden collapse when the "hide" method is calledshould hide a collapse when initialized with "hide" option if not already hidden<div class="collapse in"></div>'hiding ... called'hiding a previously-uninitialized shown collapse when the "hide" method is called'should ... target'should remove "collapsed" class from active accordion targetvar acc ... </div>'accordi ... </div>''<div c ... nel"/>''<div c ... dion">'<div class="panel-group" id="accordion"><div class="panel"/>var $gr ... panel')$groups ... panel')$(accor ... panel')$(accor ... ').find$(accor ... xture')$(accor ... ppendTo$(accordionHTML)var $ta ... .eq(0))$target ... .eq(0))$('<a r ... .eq(0))$('<a r ... on"/>')'<a rol ... ion"/>'<a role="button" data-toggle="collapse" href="#body1" data-parent="#accordion"/>$groups.eq(0)$groups.eq$('<div ... .eq(0))<div id="body1" class="in"/>var $ta ... .eq(1))$target ... .eq(1))$('<a c ... .eq(1))$('<a c ... ppendTo$('<a c ... on"/>')'<a cla ... ion"/>'<a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent="#accordion"/>$groups.eq(1)$('<div ... .eq(1))$('<div ... y2"/>')<div id="body2"/>var $ta ... .eq(2))$target ... .eq(2))$('<a c ... .eq(2))<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent="#accordion"/>$groups.eq(2)$('<div ... .eq(2))$('<div ... y3"/>')<div id="body3"/>assert. ... psed"')$target1.hasClass'inacti ... apsed"'inactive target 1 does have class "collapsed"$target2.hasClassinactive target 2 does have class "collapsed"$target3.hasClass'active ... apsed"'active target 3 does not have class "collapsed"$target3.trigger'should ... parent'should allow dots in data-parent<div class="panel-group accordion"><a role="button" data-toggle="collapse" href="#body1" data-parent=".accordion"/><a role="button" data-toggle="collapse" href="#body1" data-parent="accordion"/><a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent=".accordion"/><a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent="<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent=".accordion"/><a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent="should set aria-expanded="true" on target when collapse is shown$('<a r ... se"/>')'<a rol ... lse"/>'<a role="button" data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>assert. ... true"')$target ... anded')$target.attr'aria-e ... "true"'aria-expanded on target is "true"should set aria-expanded="false" on target when collapse is hidden$('<a r ... ue"/>')'<a rol ... rue"/>'<a role="button" data-toggle="collapse" href="#test1" aria-expanded="true"/>assert. ... alse"')'aria-e ... false"'aria-expanded on target is "false"should set aria-expanded="true" on all triggers targeting the collapse when the collapse is shown$alt.at ... anded')$alt.attraria-expanded on alt is "true"should set aria-expanded="false" on all triggers targeting the collapse when the collapse is hiddenaria-expanded on alt is "false"'should ... "true"'should change aria-expanded from active accordion target to "false" and set the newly active one to "true"<div id="body1" aria-expanded="true" class="in"/>'<div i ... lse"/>'<div id="body2" aria-expanded="false"/><div id="body3" aria-expanded="false"/>$target1.attr'inacti ... false"'inactive target 1 has aria-expanded="false"$target2.attrinactive target 2 has aria-expanded="false"$target3.attr'active ... false"'active target 3 has aria-expanded="false"QUnit.t ... 1)\n  })'should ... ioning'should not fire show event if show is prevented because other element is still transitioning{\n    a ...  1)\n  }'<div i ... nel"/>''<div i ... dion">'<div id="accordion">var sho ... = falseshowFired = false'<div i ... pse"/>'<div id="body1" class="collapse"/>showFired = true$('<a r ... .eq(1))<a role="button" data-toggle="collapse" href="#body2" data-parent="#accordion"/>var $bo ... .eq(1))$body2  ... .eq(1))<div id="body2" class="collapse"/>$target2.trigger$body2\n ... ing = 1$body2\n ... tioning$body2\n ... lapse')$body2\n ...   .data$body2\n ... psing')$body2\n ... leClassin collapsing$target1.triggersetTime ...   }, 1)assert. ...  fire')!showFired'show e ... t fire'show event did not fire'should ... cation'should add "collapsed" class to target when collapse is hidden via manual invocationassert. ... psed'))should remove "collapsed" class from target when collapse is shown via manual invocation/opt/src/js/tests/unit/dropdown.js'dropdowns plugin''dropdown method is defined''dropdowns'bootstrapDropdown'dropdown was set back to undefined (org value)'$dropdown'should not open dropdown if target is disabled via attribute'dropdownHTML'<ul class="tabs">''<li class="dropdown">''<button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>''<ul class="dropdown-menu">''<li><a href="#">Secondary link</a></li>''<li><a href="#">Something else here</a></li>''<li class="divider"/>''<li><a href="#">Another link</a></li>''</li>''.dropdown''"open" class added on click''should set aria-expanded="true" on target when dropdown menu is shown''<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Dropdown</a>''aria-expanded is set to string "true" on click''should set aria-expanded="false" on target when dropdown menu is hidden''<a href="#" class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown">Dropdown</a>''aria-expanded is set to string "false" on hide''should not open dropdown if target is disabled via class''<button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown">Dropdown</button>''should add class open to menu if clicked''<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>''should test if element has a # before assuming it\'s a selector''<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>''should remove "open" class if body is clicked''"open" class removed''should remove "open" class if body is clicked, with multiple dropdowns''<ul class="nav">''<li><a href="#menu1">Menu 1</a></li>''<li class="dropdown" id="testmenu">''<a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <span class="caret"/></a>''<li><a href="#sub1">Submenu 1</a></li>''<div class="btn-group">''<button class="btn">Actions</button>''<button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"/></button>''<li><a href="#">Action 1</a></li>'$dropdowns$first$last'two dropdowns''.open''#qunit-fixture .open''only one dropdown is open''should fire show and hide event''show was fired''hide was fired''should fire shown and hidden event''shown was fired''hidden was fired''should fire shown and hidden event with a relatedTarget''<li><input type="text" id="input"></li>''<li><textarea id="textarea"/></li>''#input''#textarea''input still focused''textarea still focused''should skip disabled element when using keyboard navigation''<li class="disabled"><a href="#">Disabled link</a></li>''.disabled''.disabled is not focused''should not close the dropdown if the user clicks on a text field''<button type="button" data-toggle="dropdown">Dropdown</button>''<li><input id="textField" type="text" /></li>''#textField''.btn-group''dropdown menu is open''should not close the dropdown if the user clicks on a textarea''<li><textarea id="textArea"></textarea></li>''#textArea'dropdowns plugin$(docum ... ropdown'dropdo ... efined'dropdown method is defined$.fn.bo ... ropdown$.fn.dr ... flict()delete  ... ropdown'dropdo ... value)'dropdown was set back to undefined (org value)dropdown was set back to undefined var $dr ... pdown()$dropdo ... pdown()$el.boo ... pdown()$el.boo ... ropdown$dropdo ... nceof $$dropdown[0]should not open dropdown if target is disabled via attributevar dro ... '</ul>'dropdow ... '</ul>''<ul cl ... '</ul>''<ul cl ... '</li>''<ul cl ... ></li>''<ul cl ... der"/>''<ul cl ... menu">''<ul cl ... utton>''<ul cl ... down">'<ul class="tabs">'<li cl ... down">'<li class="dropdown"><button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button><ul class="dropdown-menu">'<li><a ... ></li>'<li><a href="#">Secondary link</a></li><li><a href="#">Something else here</a></li>'<li cl ... der"/>'<li class="divider"/><li><a href="#">Another link</a></li></li>var $dr ... click')$dropdo ... click')$(dropd ... click')$(dropd ... trigger$(dropd ... pdown()$(dropd ... ropdown$(dropd ... own"]')$(dropdownHTML).find$(dropdownHTML)!$dropd ... 'open')$dropdo ... 'open')$dropdo ... asClass$dropdo ... pdown')$dropdown.parent.dropdown'"open" ...  click'"open" class added on clickshould set aria-expanded="true" on target when dropdown menu is shown'<ul cl ... wn</a>''<a hre ... wn</a>'<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Dropdown</a>$(dropd ...   .find$dropdo ... anded')$dropdown.attr'aria-e ...  click'aria-expanded is set to string "true" on clickshould set aria-expanded="false" on target when dropdown menu is hidden<a href="#" class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown">Dropdown</a>$(dropd ... xture')$(dropd ... ppendTo$dropdo ...      })$dropdo ...     .on$dropdo ... .parentassert. ...  hide')'aria-e ... n hide'aria-expanded is set to string "false" on hide$dropdown.trigger$(docum ... click')$(docum ... trigger'should ...  class'should not open dropdown if target is disabled via class<button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown">Dropdown</button>should add class open to menu if clicked<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'should ... lector'should test if element has a # before assuming it's a selector<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>should remove "open" class if body is clickedassert. ... moved')'"open" ... emoved'"open" class removed'should ... pdowns'should remove "open" class if body is clicked, with multiple dropdownsvar dro ... </div>'dropdow ... </div>''<ul cl ... </div>''<ul cl ... roup">''<ul cl ... /></a>'<ul class="nav"><li><a href="#menu1">Menu 1</a></li>'<li cl ... menu">'<li class="dropdown" id="testmenu">'<a cla ... /></a>'<a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <span class="caret"/></a><li><a href="#sub1">Submenu 1</a></li>'<div c ... roup">'<div class="btn-group"><button class="btn">Actions</button><button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"/></button><li><a href="#">Action 1</a></li>var $dr ... own"]')$dropdo ... own"]')$(dropd ... ').findvar $fi ... first()$first  ... first()$dropdowns.first()$dropdowns.firstvar $la ... .last()$last = ... .last()$dropdowns.last()$dropdowns.lastassert. ... downs')$dropdowns.lengthtwo dropdowns$first. ... click')$first.trigger$first. ... .length$first. ... .open')$first.parents.openassert. ...  open')$('#qun ... .open')'#qunit ...  .open'#qunit-fixture .open#qunit-fixture 'only o ... s open'only one dropdown is open$last.t ... click')$last.trigger$last.p ... .length$last.p ... .open')$last.parent'should ...  event'should fire show and hide eventshow was firedhide was firedshould fire shown and hidden eventshown was firedhidden was firedshould fire shown and hidden event with a relatedTargetassert. ... own[0])'<li><i ... ></li>'<li><input type="text" id="input"></li>'<li><t ... ></li>'<li><textarea id="textarea"/></li>$input = $('#input')$('#input')#inputvar $te ... tarea')$textar ... tarea')$('#textarea')#textarea$input. ...  38 }))$input. ... trigger$input. ... focus')$.Event ... : 38 }){ which: 38 }which: 38assert. ... cused')$(docum ... $input)$(docum ... ent).is$(docum ... lement)'input  ... ocused'input still focused$textar ...  38 }))$textar ... trigger$textar ... focus')$(docum ... xtarea)'textar ... ocused'textarea still focusedshould skip disabled element when using keyboard navigation'<li cl ... ></li>'<li class="disabled"><a href="#">Disabled link</a></li>$dropdo ...  40 }))$.Event ... : 40 }){ which: 40 }which: 40!$(docu ... abled')$(docum ... abled')$(docum ... nt().is$(docum ... arent()$(docum ... .parent'.disab ... ocused'.disabled is not focuseddisabled is not focused'should ...  field'should not close the dropdown if the user clicks on a text field{\n    a ... n')\n  }'<div c ... '</ul>''<div c ... ></li>''<div c ... menu">'<button type="button" data-toggle="dropdown">Dropdown</button><li><input id="textField" type="text" /></li>$('#tex ... click')$('#tex ... trigger$('#textField')#textField$dropdo ... group').btn-group'dropdo ... s open'dropdown menu is open'should ... xtarea'should not close the dropdown if the user clicks on a textarea<li><textarea id="textArea"></textarea></li>$('#textArea')#textArea/opt/src/js/tests/unit/modal.js after one open-close cycle// afte ... e cycle'modal plugin''modal method is defined''modal'bootstrapModal'modal was set back to undefined (orig value)''<div id="modal-test"/>''should expose defaults var for settings''default object exposed''should insert into dom when show method is called''#modal-test''modal inserted into dom''should fire show event''should not fire shown when show was prevented''should hide modal when hide is called''modal visible''modal hidden''should toggle when toggle is called''should remove from dom when click [data-dismiss="modal"]''<div id="modal-test"><span class="close" data-dismiss="modal"/></div>''should allow modal close with "backdrop:false"''<div id="modal-test" data-backdrop="false"/>''should close modal when clicking outside of modal-content''<div id="modal-test"><div class="contents"/></div>''.contents''should close modal when escape key is pressed via keydown'$div'should not close modal when escape key is pressed via keyup''modal still visible''should trigger hide event once when clicking outside of modal-content'triggered'modal hide triggered once''should close reopened modal with [data-dismiss="modal"] click''<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>''#close''should restore focus to toggling element when modal is hidden after having been opened via data-api'$toggleBtn'<button data-toggle="modal" data-target="#modal-test"/>''toggling element is once again focused''should not restore focus to toggling element if the associated show event gets prevented'$otherBtn'<button id="other-btn"/>''<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div>''focus returned to toggling element''should restore inline body padding after closing'currentBodyPad'body has non-empty style attribute''original body padding was not changed''should ignore values set via CSS when trying to restore body padding after closing'$style'<style>body { padding-right: 42px; }</style>''body does not have inline padding set''should ignore other inline styles when trying to restore body padding after closing''color''red''body still has other inline styles set''should properly restore non-pixel inline body padding after closing''5%'modal plugin$(docum ... ).modal'modal  ... efined'modal method is defined$.fn.bootstrapModal$.fn.mo ... flict()$.fn.mo ... apModaldelete  ... apModal'modal  ... value)'modal was set back to undefined (orig value)modal was set back to undefined var $el ... st"/>')$el = $ ... st"/>')$('<div ... st"/>')'<div i ... est"/>'<div id="modal-test"/>var $mo ... Modal()$modal  ... Modal()$el.bootstrapModal()$el.bootstrapModal$modal instanceof $$modal[0]'should ... ttings'should expose defaults var for settingsassert. ... posed')$.fn.bo ... EFAULTS$.fn.bo ... tructor'defaul ... xposed'default object exposed'should ... called'should insert into dom when show method is called$('<div ... apModal$('#mod ... .length$('#modal-test')#modal-test'modal  ... to dom'modal inserted into domshould fire show eventshould not fire shown when show was preventedshould hide modal when hide is calledassert. ... sible')$('#mod ... sible')$('#modal-test').ismodal visible$(this) ... 'hide')$(this) ... apModalassert. ... idden')!$('#mo ... sible')modal hiddenshould toggle when toggle is called$('<div ... oggle')$(this) ... oggle')'should ... odal"]'should remove from dom when click [data-dismiss="modal"]should remove from dom when click <div id="modal-test"><span class="close" data-dismiss="modal"/></div>$(this) ... click')$(this) ... trigger$(this) ... close')$(this).find'should ... false"'should allow modal close with "backdrop:false"<div id="modal-test" data-backdrop="false"/>'should ... ontent'should close modal when clicking outside of modal-content<div id="modal-test"><div class="contents"/></div>$('.con ... click')$('.con ... trigger$('.contents').contents$('#mod ... click')$('#mod ... trigger'should ... eydown'should close modal when escape key is pressed via keydownvar $di ... st"/>')$div =  ... st"/>')$div\n   ... 'show')$div\n   ... apModal$div\n   ...      })$div\n      .on$div.tr ...  27 }))$div.trigger$.Event ... : 27 }){ which: 27 }which: 27$div.remove()$div.remove'should ...  keyup'should not close modal when escape key is pressed via keyup$div.is(':visible')$div.is'modal  ... isible'modal still visibleshould trigger hide event once when clicking outside of modal-contentvar triggeredtriggered = 0triggered += 1assert. ...  once')'modal  ... d once'modal hide triggered once'should ...  click'should close reopened modal with [data-dismiss="modal"] clickshould close reopened modal with  click$('<div ...    .one<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>$('#clo ... click')$('#close').trigger$('#close')$(this) ... 'show')$(this) ...      })$(this) ...    .one'should ... ta-api'should restore focus to toggling element when modal is hidden after having been opened via data-apivar $to ... xture')$toggle ... xture')$('<but ... xture')$('<but ... ppendTo$('<but ... st"/>')'<butto ... est"/>'<button data-toggle="modal" data-target="#modal-test"/>$(docum ... gleBtn)'toggli ... ocused'toggling element is once again focused$toggle ... click')$toggleBtn.triggershould not restore focus to toggling element if the associated show event gets preventedvar $ot ... xture')$otherB ... xture')$('<but ... tn"/>')'<butto ... btn"/>'<button id="other-btn"/><div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div>$otherB ... focus')$otherBtn.trigger$(docum ... herBtn)'focus  ... lement'focus returned to toggling element'should ... losing'should restore inline body padding after closingvar ori ... Pad = 0originalBodyPad = 0$body = ... t.body)$body.c ... odyPad)$body.cssvar cur ... '), 10)current ... '), 10)$body.c ... right')assert. ... ibute')assert. ... ctEqual$body.attr('style')$body.attr'body h ... ribute'body has non-empty style attributeassert. ... anged')'origin ... hanged'original body padding was not changed$body.r ... style')$body.removeAttrshould ignore values set via CSS when trying to restore body padding after closingvar $st ... 'head')$style  ... 'head')$('<sty ... 'head')$('<sty ... ppendTo$('<sty ... tyle>')'<style ... style>'<style>body { padding-right: 42px; }</style>assert. ... g set')!$body.attr('style')'body d ... ng set'body does not have inline padding set$style.remove()$style.removeshould ignore other inline styles when trying to restore body padding after closing$body.c ...  'red')$body[0 ... ngRight$body[0].style$body[0]assert. ... s set')$body[0].style.color'body s ... es set'body still has other inline styles setshould properly restore non-pixel inline body padding after closing$body.c ... , '5%')5%/opt/src/js/tests/unit/phantom.jsphantom
 * grunt-contrib-qunit
 * http://gruntjs.com/
 *
 * Copyright (c) 2014 "Cowboy" Ben Alman, contributors
 * Licensed under the MIT license.
 /*\n * g ... se.\n */ Don't re-order tests.// Don' ...  tests. Run tests serially, not in parallel.// Run  ... rallel. Send messages to the parent PhantomJS process via alert! Good times!!// Send ... times!! These methods connect QUnit to PhantomJS.// Thes ... ntomJS. What is this I don’t even// What ... \u2019t even Parse some stuff before sending it.// Pars ... ing it. Dumping large objects can be very slow, and the dump isn't used for// Dump ... sed for passing tests, so only dump if the test failed.// pass ... failed. Send it.// Send it.reorderautorun'[object Object], undefined:undefined''qunit.log''qunit.testStart''qunit.testDone'failedpassedmoduleStart'qunit.moduleStart'moduleDone'\r\u221A All tests passed in "''" module''\u00D7 '' tests failed in "''qunit.moduleDone''qunit.begin''\n\nStarting test suite''================================================\n''qunit.done'(functi ... )\n\n}())functio ... })\n\n}()QUnit.c ... = falseQUnit.config.reorderQUnit.config.autorunvar arg ... uments)args =  ... uments)[].slic ... uments)[].slice.callalert(J ... (args))JSON.stringify(args)QUnit.l ... e)\n  })functio ... ce)\n  }{\n    / ... ce)\n  }if (obj ... eturn }obj.mes ... efined'obj.message'[objec ... efined'[object Object], undefined:undefined, undefined:undefined{ return }var actualvar expectedif (!ob ... )\n    }!obj.resultobj.resultactual  ... actual)QUnit.d ... actual)QUnit.dump.parseQUnit.dumpobj.actualexpecte ... pected)QUnit.d ... pected)obj.expectedsendMes ... source)qunit.logobj.sourceQUnit.t ... e)\n  })functio ... me)\n  }{\n    s ... me)\n  }sendMes ... j.name)qunit.testStartobj.nameQUnit.t ... n)\n  }){\n    s ... on)\n  }sendMes ... ration)qunit.testDoneobj.failedobj.passedobj.totalobj.durationQUnit.m ... e)\n  })QUnit.moduleStartqunit.moduleStartQUnit.m ... l)\n  })QUnit.moduleDonefunctio ... al)\n  }{\n    i ... al)\n  }if (obj ... )\n    }obj.failed === 0console ... odule')'\r\u22 ... module''\r\u22 ... bj.name'\r\u22 ... d in "'
√ All tests passed in "" module'\u00D7 ... module''\u00D7 ... bj.name'\u00D7 ... d in "''\u00D7 ... .failed×  tests failed in "sendMes ... .total)qunit.moduleDoneQUnit.b ... ')\n  }){\n    s ... n')\n  }sendMes ... begin')qunit.beginconsole ... suite')'\n\nSt ...  suite'

Starting test suiteconsole ... ===\n')'====== ... ====\n'================================================
QUnit.d ... e)\n  })sendMes ... untime)qunit.doneobj.runtime/opt/src/js/tests/unit/popover.js'popover plugin''popover method is defined'bootstrapPopover'popover was set back to undefined (org value)'$popover'should render popover element''<a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a>''.popover''popover was inserted''popover removed''should store popover instance in popover data object''popover instance exists''should store popover trigger in popover instance data object''<a href="#" title="ResentedHook">@ResentedHook</a>''popover trigger stored in instance data''should get title and content from options''<a href="#">@fat</a>''@fat''loves writing tests （╯°□°）╯︵ ┻━┻''.popover .popover-title''title correctly inserted''.popover .popover-content''content correctly inserted''popover was removed''should not duplicate HTML object''should get title and content from attributes''<a href="#" title="@mdo" data-content="loves data attributes (づ｡◕‿‿◕｡)づ ︵ ┻━┻" >@mdo</a>''@mdo''loves data attributes (づ｡◕‿‿◕｡)づ ︵ ┻━┻''should get title and content from attributes ignoring options passed via js''ignored title option''ignored content option''should respect custom template''Test''<div class="popover foobar"><div class="arrow"></div><div class="inner"><h3 class="title"/><div class="content"><p/></div></div></div>''custom class is present''should destroy popover''click.foo''popover has data''popover has hover event''foo''popover has extra click.foo event''destroy''popover is hidden''popover does not have data''popover still has click.foo''popover does not have any events''should render popover element using delegated selector''<div><a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a></div>''should detach popover content rather than removing it so that event handlers are left intact'$content'<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>'handlerCalled'.content-with-handler .btn''<div><a href="#">Show popover</a></div>''manual''shown.bs.popover''hidden.bs.popover''content\'s event handler still present''should throw an error when initializing popover on the document object without specifying a delegation selector''What am I on?''My selector is missing''`selector` option must be specified when initializing popover on the window.document object!''should do nothing when an attempt is made to hide an uninitialized popover''<span data-toggle="popover" data-title="some title" data-content="some content">some text</span>''hidden.bs.popover shown.bs.popover''should not fire any popover events''should not initialize the popover''should throw an error when template contains multiple top-level elements''<div>Foo</div><div>Bar</div>''popover `template` option must consist of exactly 1 top-level element!''should fire inserted event''<a href="#">@Johann-S</a>''inserted.bs.popover''inserted event fired'popover plugin$(docum ... popover'popove ... efined'popover method is defined$.fn.bo ... Popover$.fn.po ... flict()afterEa ... r\n    }delete  ... Popover'popove ... value)'popover was set back to undefined (org value)popover was set back to undefined var $po ... pover()$popove ... pover()$el.boo ... pover()$el.bootstrapPopover$popove ... nceof $$popover[0]should render popover elementvar $po ... 'show')$popove ... 'show')$('<a h ... 'show')$('<a h ... Popover$('<a h ... xture')$('<a h ... ppendTo$('<a h ... o</a>')'<a hre ... do</a>'<a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a><a href="#" title="mdo" data-content="https://twittercom/mdo">@mdo</a>assert. ... erted')$('.popover').length$('.popover').popover'popove ... serted'popover was inserted$popove ... 'hide')$popove ... Popoverpopover removedshould store popover instance in popover data object$('<a h ... pover()assert. ... xists')$popove ... pover')$popover.data'popove ... exists'popover instance existsshould store popover trigger in popover instance data objectfunctio ... a')\n  }{\n    a ... a')\n  }$('<a h ... k</a>')'<a hre ... ok</a>'<a href="#" title="ResentedHook">@ResentedHook</a>assert. ...  data')$('.pop ... pover')$('.popover').data'popove ... e data'popover trigger stored in instance data'should ... ptions'should get title and content from optionsvar $po ...      })$popove ...      })$('<a h ...      })$('<a h ... t</a>')'<a hre ... at</a>'<a href="#">@fat</a>title:  ...       }return '@fat'content ...       }return  ... \u256f\ufe35 \u253b\u2501\u253b''loves  ... \u256f\ufe35 \u253b\u2501\u253b'loves writing tests （╯°□°）╯︵ ┻━┻$('.pop ... .text()$('.pop ... ').text$('.pop ... title')'.popov ... -title'.popover .popover-titlepopover 'title  ... serted'title correctly inserted$('.pop ... ntent')'.popov ... ontent'.popover .popover-content'conten ... serted'content correctly inserted'popove ... emoved'popover was removedshould not duplicate HTML objectvar $di ... \ufe35 \u253b\u2501\u253b')$div =  ... \ufe35 \u253b\u2501\u253b')$('<div ... \ufe35 \u253b\u2501\u253b')$('<div/>').htmlreturn $divassert.equal$('.pop ... .html()$('.pop ... ').html'should ... ibutes'should get title and content from attributes<a href="#" title="@mdo" data-content="loves data attributes (づ｡◕‿‿◕｡)づ ︵ ┻━┻" >@mdo</a><a href="#" title="@mdo" data-content="loves data attributes (づ｡◕‿‿◕｡)づ｡◕‿‿◕｡づ ︵ ┻━┻" >@mdo</a>'loves  ...  \ufe35 \u253b\u2501\u253b'loves data attributes (づ｡◕‿‿◕｡)づ ︵ ┻━┻loves data attributes づ ︵ ┻━┻'should ... via js'should get title and content from attributes ignoring options passed via jstitle:  ... option''ignore ... option'ignored title optioncontent ... option'ignored content option'should ... mplate'should respect custom templatetitle: 'Test'Testcontent: 'Test'<div class="popover foobar"><div class="arrow"></div><div class="inner"><h3 class="title"/><div class="content"><p/></div></div></div>$('.pop ... oobar')$('.pop ... asClass'custom ... resent'custom class is present'should ... opover'should destroy popovervar $po ... $.noop)$popove ... $.noop)$('<div ... $.noop)$('<div ... Popovertrigger: 'hover'click.foo$.nooppopover has dataassert. ... event')$._data ... ouseout$._data ... useover'popove ...  event'popover has hover event$._data ... mespace$._data ... lick[0]$._data ... ).clickpopover has extra click.foo eventpopover has extra clickfoo event$popove ... stroy')!$popov ... s('in')$popove ... s('in')$popover.hasClasspopover is hidden!$popov ... pover')popover does not have dataassert. ... k.foo')'popove ... ck.foo'popover still has click.foopopover still has click!$._dat ... ouseout!$._dat ... useover'popove ... events'popover does not have any eventsshould render popover element using delegated selectorvar $di ...      })$div =  ...      })'<div>< ... </div>'<div><a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a></div><div><a href="#" title="mdo" data-content="https://twittercom/mdo">@mdo</a></div>selector: 'a'$div.fi ... click')$div.fi ... trigger$div.find('a')$div.find'should ... intact'should detach popover content rather than removing it so that event handlers are left intactvar $co ... xture')$conten ... xture')<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>var han ... = falsehandler ... = false$('.con ... \n    })$('.con ... tn').on$('.con ...  .btn')'.conte ... r .btn'.content-with-handler .btncontent-with-handler handlerCalled = true<div><a href="#">Show popover</a></div>html: truetrigger: 'manual'manualreturn $content$div\n   ... Popover$div\n      .oneshown.bs.popover$div\n   ... 'hide')$div\n          .onehidden.bs.popover$div\n   ...    .one$div.bo ... stroy')$div.bo ... Popover'conten ... resent'content's event handler still presentQUnit.t ... ))\n  })should throw an error when initializing popover on the document object without specifying a delegation selector{\n    a ... '))\n  }assert. ... ect!'))assert.throws$(docum ... ing' })$(docum ... Popover{ title ... sing' }title:  ...  I on?'What am I on?What am I on?content ... issing''My sel ... issing'My selector is missingnew Err ... ject!')'`selec ... bject!'`selector` option must be specified when initializing popover on the window.document object!`selector` option must be specified when initializing popover on the windowdocument object!should do nothing when an attempt is made to hide an uninitialized popoverfunctio ... r')\n  }{\n    a ... r')\n  }var $po ... 'hide')$('<spa ... 'hide')$('<spa ... Popover$('<spa ...      })$('<spa ...     .on$('<spa ... xture')$('<spa ... ppendTo$('<spa ... span>')'<span  ... /span>'<span data-toggle="popover" data-title="some title" data-content="some content">some text</span>'hidden ... opover'hidden.bs.popover shown.bs.popoverpopover shown'should ... events'should not fire any popover eventsassert. ... pover')should not initialize the popover'should ... ements'should throw an error when template contains multiple top-level elementsassert. ... ent!'))$('<spa ... 'show')$('<spa ... iv>' }){ templ ... div>' }'<div>F ... </div>'<div>Foo</div><div>Bar</div>new Err ... ment!')'popove ... ement!'popover `template` option must consist of exactly 1 top-level element!should fire inserted event$('<a h ...     .on$('<a h ... S</a>')'<a hre ... -S</a>'<a href="#">@Johann-S</a>'insert ... opover'inserted.bs.popoverinserted'insert ...  fired'inserted event fired/opt/src/js/tests/unit/scrollspy.js'scrollspy plugin''scrollspy method is defined''scrollspy'bootstrapScrollspy'scrollspy was set back to undefined (org value)'$scrollspy'should only switch "active" class on current target'sectionHTML'<div id="root" class="active">''<div class="topbar">''<div class="topbar-inner">''<div class="container" id="ss-target">''<li><a href="#masthead">Overview</a></li>''<li><a href="#detail">Detail</a></li>''<div id="scrollspy-example" style="height: 100px; overflow: auto;">''<div style="height: 200px;">''<h4 id="masthead">Overview</h4>''<p style="height: 200px">''Ad leggings keytar, brunch id art party dolor labore.''<h4 id="detail">Detail</h4>''Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard.'$section'#scrollspy-example''#ss-target''"active" class still on root node''should correctly select middle navigation option when large offset is used''<div id="header" style="height: 500px;"></div>''<nav id="navigation" class="navbar">''<ul class="nav navbar-nav">''<li class="active"><a id="one-link" href="#one">One</a></li>''<li><a id="two-link" href="#two">Two</a></li>''<li><a id="three-link" href="#three">Three</a></li>''</nav>''<div id="content" style="height: 200px; overflow-y: auto;">''<div id="one" style="height: 500px;"></div>''<div id="two" style="height: 300px;"></div>''<div id="three" style="height: 10px;"></div>''#content''#navigation''#one-link''"active" class removed from first section''#two-link''"active" class on middle section''#three-link''"active" class not on last section'550'should add the active class to the correct element'navbarHtml'<nav class="navbar">''<li id="li-1"><a href="#div-1">div 1</a></li>''<li id="li-2"><a href="#div-2">div 2</a></li>'contentHtml'<div class="content" style="overflow: auto; height: 50px">''<div id="div-1" style="height: 100px; padding: 0; margin: 0">div 1</div>''<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>''.navbar'testElementIsActiveAfterScroll'target:'', element''#li-1''#div-1''#li-2''#div-2''should add the active class correctly when there are nested elements at 0 scroll offset''<li id="li-1"><a href="#div-1">div 1</a>''<div class="content" style="position: absolute; top: 0px; overflow: auto; height: 50px">''<div id="div-1" style="padding: 0; margin: 0">'testActiveElements'nav item for outer element has "active" class''nav item for inner element has "active" class''should clear selection if above the first section'scrollspyHTML'<div id="spacer" style="height: 100px;"/>''<div id="one" style="height: 100px;"/>''<div id="two" style="height: 100px;"/>''<div id="three" style="height: 100px;"/>''"active" class on only one element present''"active" class on second section''selection cleared'201'should correctly select navigation element on backward scrolling when each target section height is 100%''<li id="li-100-1"><a href="#div-100-1">div 1</a></li>''<li id="li-100-2"><a href="#div-100-2">div 2</a></li>''<li id="li-100-3"><a href="#div-100-3">div 3</a></li>''<li id="li-100-4"><a href="#div-100-4">div 4</a></li>''<li id="li-100-5"><a href="#div-100-5">div 5</a></li>''<div class="content" style="position: relative; overflow: auto; height: 100px">''<div id="div-100-1" style="position: relative; height: 100%; padding: 0; margin: 0">div 1</div>''<div id="div-100-2" style="position: relative; height: 100%; padding: 0; margin: 0">div 2</div>''<div id="div-100-3" style="position: relative; height: 100%; padding: 0; margin: 0">div 3</div>''<div id="div-100-4" style="position: relative; height: 100%; padding: 0; margin: 0">div 4</div>''<div id="div-100-5" style="position: relative; height: 100%; padding: 0; margin: 0">div 5</div>'', element: ''#li-100-5''#div-100-5''#li-100-4''#div-100-4''#li-100-3''#div-100-3''#li-100-2''#div-100-2''#li-100-1''#div-100-1'scrollspy plugin$(docum ... rollspy'scroll ... efined'scrollspy method is defined$.fn.bo ... rollspy$.fn.sc ... flict()afterEa ... y\n    }functio ... y\n    }{\n      ... y\n    }$.fn.sc ... rollspydelete  ... rollspy'scroll ... value)'scrollspy was set back to undefined (org value)scrollspy was set back to undefined var $sc ... llspy()$scroll ... llspy()$el.boo ... llspy()$el.boo ... rollspy$scroll ... nceof $$scrollspy[0]should only switch "active" class on current targetvar sec ... </div>'section ... </div>''<div i ... beard.''<div i ... 00px">''<div i ... abore.''<div i ... w</h4>''<div i ... uto;">''<div i ... ></li>''<div i ... "nav">''<div i ... pbar">'<div id="root" class="active">'<div c ... pbar">'<div class="topbar"><div class="topbar-inner">'<div c ... rget">'<div class="container" id="ss-target"><li><a href="#masthead">Overview</a></li><li><a href="#detail">Detail</a></li><div id="scrollspy-example" style="height: 100px; overflow: auto;">'<div s ... 0px;">'<div style="height: 200px;">'<h4 id ... w</h4>'<h4 id="masthead">Overview</h4>'<p sty ... 00px">'<p style="height: 200px">'Ad leg ... abore.'Ad leggings keytar, brunch id art party dolor labore.Ad leggings keytar, brunch id art party dolor labore'<h4 id ... l</h4>'<h4 id="detail">Detail</h4>'Veniam ... beard.'Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard.Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beardvar $se ... xture')$sectio ... xture')$(secti ... xture')$(secti ... ppendTo$(sectionHTML)var $sc ... get' })$scroll ... get' })$sectio ... get' })$sectio ... rollspy$sectio ... ample')$sectio ...   .find$sectio ... .show()$section\n      .show#scrollspy-example{ targe ... rget' }target: '#ss-target'#ss-target$scroll ... \n    })$scrollspy.onassert. ...  node')$sectio ... ctive')$section.hasClass'"activ ... t node'"active" class still on root node$scroll ... op(350)$scrollspy.scrollTop'should ... s used'should correctly select middle navigation option when large offset is used'<div i ... </nav>''<div i ... -nav">''<div i ... vbar">'<div id="header" style="height: 500px;"></div>'<nav i ... vbar">'<nav id="navigation" class="navbar">'<ul cl ... -nav">'<ul class="nav navbar-nav"><li class="active"><a id="one-link" href="#one">One</a></li><li><a id="two-link" href="#two">Two</a></li><li><a id="three-link" href="#three">Three</a></li></nav><div id="content" style="height: 200px; overflow-y: auto;"><div id="one" style="height: 500px;"></div><div id="two" style="height: 300px;"></div><div id="three" style="height: 10px;"></div>var $sc ... ntent')$scroll ... ntent')$sectio ... ntent')$sectio ... .filter$scroll ... .top })$scroll ... rollspy{ targe ... ).top }target: ... gation'#navigationoffset: ... n().top$scroll ... n().top$scroll ... ition()$scrollspy.position!$secti ... ctive')$sectio ... asClass$sectio ... arent()$sectio ... .parent$sectio ... -link')$section.find#one-link'"activ ... ection'"active" class removed from first section#two-link"active" class on middle section#three-link"active" class not on last section$scroll ... op(550)should add the active class to the correct elementvar nav ... </nav>'navbarH ... </nav>''<nav c ... </nav>''<nav c ... '</ul>''<nav c ... ></li>''<nav c ... "nav">''<nav c ... vbar">'<nav class="navbar">'<li id ... ></li>'<li id="li-1"><a href="#div-1">div 1</a></li><li id="li-2"><a href="#div-2">div 2</a></li>var con ... </div>'content ... </div>''<div c ... 50px">'<div class="content" style="overflow: auto; height: 50px"><div id="div-1" style="height: 100px; padding: 0; margin: 0">div 1</div><div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>$(navba ... xture')$(navba ... ppendTo$(navbarHtml)var $co ... bar' })$conten ... bar' })$(conte ... bar' })$(conte ... rollspy$(conte ... xture')$(conte ... ppendTo$(contentHtml){ offse ... vbar' }target: '.navbar'.navbarvar tes ... )\n    }testEle ... )\n    }testEle ... rScrollvar def ... erred()deferre ... erred()var scr ... ().top)scrollH ... ().top)Math.ce ... ().top)$conten ... n().top$content.scrollTop()$content.scrollTop$(targe ... n().top$(target).position()$(target).position$conten ...      })$content.oneassert. ... lement)$(eleme ... ctive')$(element).hasClass'target ... element'target ... lement''target:' + targettarget:, elementdeferred.resolve()deferred.resolve$conten ... Height)deferred.promise()deferred.promise$.when( ... ne() })$.when( ...   .then$.when( ... -2') })$.when( ... iv-1'))testEle ... div-1')#li-1#div-1functio ... v-2') }{ retur ... v-2') }return  ... div-2')testEle ... div-2')#li-2#div-2functio ... one() }{ done() }'should ... offset'should add the active class correctly when there are nested elements at 0 scroll offsetfunctio ... }()\n  }{\n    a ... }()\n  }var times = 0times = 0'<nav i ... </nav>''<nav i ... '</ul>''<nav i ... '</li>''<nav i ... ></li>''<nav i ...  '<ul>''<nav i ...  1</a>''<nav i ... "nav">''<li id ...  1</a>'<li id="li-1"><a href="#div-1">div 1</a>'<div c ... n: 0">'<div class="content" style="position: absolute; top: 0px; overflow: auto; height: 50px">'<div i ... n: 0">'<div id="div-1" style="padding: 0; margin: 0">var $co ... ion' })$conten ... ion' })$(conte ... ion' }){ offse ... tion' }!functi ...     }()functio ...     }()if (++t ...  done()++times > 3++timesreturn done()$('#li- ... ctive')$('#li-1').hasClass$('#li-1')'nav it ...  class'nav item for outer element has "active" class$('#li-2').hasClass$('#li-2')nav item for inner element has "active" classtestActiveElements()$conten ... ) + 10)$conten ... () + 10should clear selection if above the first sectionfunctio ... 01)\n  }{\n    a ... 01)\n  }var sec ... </nav>'section ... </nav>'var scr ... </div>'scrolls ... </div>''<div i ... px;"/>'<div id="spacer" style="height: 100px;"/><div id="one" style="height: 100px;"/><div id="two" style="height: 100px;"/><div id="three" style="height: 100px;"/>var $sc ... xture')$scroll ... xture')$(scrol ... xture')$(scrol ... ppendTo$(scrollspyHTML)$scroll ... op(201)$scroll ... rollTop$scroll ...      })$scroll ...    .one$('.active').length$('.active')'"activ ... resent'"active" class on only one element present$('.act ... .length$('.act ... -link')$('.active').has"active" class on second section$scroll ... lTop(0)assert. ... eared')selection cleared'should ... s 100%'should correctly select navigation element on backward scrolling when each target section height is 100%assert.expect(5)<li id="li-100-1"><a href="#div-100-1">div 1</a></li><li id="li-100-2"><a href="#div-100-2">div 2</a></li><li id="li-100-3"><a href="#div-100-3">div 3</a></li><li id="li-100-4"><a href="#div-100-4">div 4</a></li><li id="li-100-5"><a href="#div-100-5">div 5</a></li>'<div c ... 00px">'<div class="content" style="position: relative; overflow: auto; height: 100px"><div id="div-100-1" style="position: relative; height: 100%; padding: 0; margin: 0">div 1</div><div id="div-100-2" style="position: relative; height: 100%; padding: 0; margin: 0">div 2</div><div id="div-100-3" style="position: relative; height: 100%; padding: 0; margin: 0">div 3</div><div id="div-100-4" style="position: relative; height: 100%; padding: 0; margin: 0">div 4</div><div id="div-100-5" style="position: relative; height: 100%; padding: 0; margin: 0">div 5</div>'target ... ment: ', element: $.when( ... -1') })$.when( ... -3') })$.when( ... -4') })$.when( ... 00-5'))testEle ... 100-5')#li-100-5#div-100-5functio ... 0-4') }{ retur ... 0-4') }return  ... 100-4')testEle ... 100-4')#li-100-4#div-100-4functio ... 0-3') }{ retur ... 0-3') }return  ... 100-3')testEle ... 100-3')#li-100-3#div-100-3functio ... 0-2') }{ retur ... 0-2') }return  ... 100-2')testEle ... 100-2')#li-100-2#div-100-2functio ... 0-1') }{ retur ... 0-1') }return  ... 100-1')testEle ... 100-1')#li-100-1#div-100-1/opt/src/js/tests/unit/tab.js'tabs plugin''tabs method is defined''tabs'bootstrapTab'tab was set back to undefined (org value)'$tab'should activate element by tab id'tabsHTML'<li><a href="#home">Home</a></li>''<li><a href="#profile">Profile</a></li>''<ul><li id="home"/><li id="profile"/></ul>''li:last a''profile''li:first a''home'pillsHTML'<ul class="pills">''<div class="tab"/>''show and shown events should reference correct relatedTarget'dropHTML'<ul class="drop">''<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>''<li><a href="#1-1" data-toggle="tab">1-1</a></li>''<li><a href="#1-2" data-toggle="tab">1-2</a></li>''ul > li:first a''ul > li:last a''#1-1''references correct element as relatedTarget''should fire hide and hidden events''hide event fired''hidden event fired''should not fire hidden when hide is prevented''hide and hidden events contain correct relatedTarget''#profile''selected tab should have aria-expanded''<ul class="nav nav-tabs">''<li class="active"><a href="#home" toggle="tab" aria-expanded="true">Home</a></li>''<li><a href="#profile" toggle="tab" aria-expanded="false">Profile</a></li>'$tabs'.active a''shown tab has aria-expanded = true''li:not(.active) a''hidden tab has aria-expanded = false''after click, shown tab has aria-expanded = true''after click, hidden tab has aria-expanded = false''after second show event, shown tab still has aria-expanded = true''after second show event, hidden tab has aria-expanded = false'tabs plugin$(document.body).tab'tabs m ... efined'tabs method is defined$.fn.bootstrapTab$.fn.ta ... flict()afterEa ... b\n    }functio ... b\n    }{\n      ... b\n    }$.fn.ta ... trapTabdelete  ... trapTab'tab wa ... value)'tab was set back to undefined (org value)tab was set back to undefined var $ta ... apTab()$tab =  ... apTab()$el.bootstrapTab()$el.bootstrapTab$tab instanceof $$tab[0]'should ... tab id'should activate element by tab idvar tab ... '</ul>'tabsHTM ... '</ul>'<li><a href="#home">Home</a></li><li><a href="#profile">Profile</a></li>$('<ul> ... xture')$('<ul> ... ppendTo$('<ul> ... </ul>')'<ul><l ... ></ul>'<ul><li id="home"/><li id="profile"/></ul>$(tabsH ... 'show')$(tabsH ... trapTab$(tabsH ... ast a')$(tabsHTML).find$(tabsHTML)li:last aassert. ... ofile')$('#qun ... r('id')$('#qun ... ').attr$('#qun ... ctive')$(tabsH ... rst a')li:first aassert. ... 'home')var pil ... '</ul>'pillsHT ... '</ul>'<ul class="pills">$(pills ... 'show')$(pills ... trapTab$(pills ... ast a')$(pillsHTML).find$(pillsHTML)$(pills ... rst a')$('<div ... trapTab$('<div ... ab"/>')<div class="tab"/>'show a ... Target'show and shown events should reference correct relatedTargetdropHTM ... '</ul>''<ul cl ... >1</a>'<ul class="drop">'<li cl ... >1</a>'<li class="dropdown"><a data-toggle="dropdown" href="#">1</a><li><a href="#1-1" data-toggle="tab">1-1</a></li><li><a href="#1-2" data-toggle="tab">1-2</a></li>$(dropH ... 'show')$(dropH ... trapTab$(dropH ...      })$(dropH ...     .on$(dropH ... ast a')$(dropH ...   .find$(dropH ...  .end()$(dropH ...    .end$(dropH ... rst a')$(dropHTML)ul > li:first aul > li:last aassert. ... arget')e.relatedTarget.hash#1-1'refere ... Target'references correct element as relatedTargetshould fire hide and hidden events$(tabsH ...   .find$(tabsH ...  .end()$(tabsH ...    .end$(tabsH ...      })$(tabsH ...     .onhide event firedhidden event firedshould not fire hidden when hide is prevented'hide a ... Target'hide and hidden events contain correct relatedTarget'select ... panded'selected tab should have aria-expandedassert.expect(8)'<ul cl ... tabs">'<ul class="nav nav-tabs"><li class="active"><a href="#home" toggle="tab" aria-expanded="true">Home</a></li><li><a href="#profile" toggle="tab" aria-expanded="false">Profile</a></li>$tabs = ... xture')$(tabsH ... xture')$(tabsHTML).appendTo$tabs.f ... 'show')$tabs.f ... trapTab$tabs.f ... rst a')$tabs.find$tabs.f ... anded')$tabs.f ... ').attr$tabs.f ... ive a').active aactive a'shown  ... = true'shown tab has aria-expanded = true$tabs.f ... ve) a')li:not(.active) ali:not(.active) a'hidden ...  false'hidden tab has aria-expanded = false$tabs.f ... click')$tabs.f ... trigger$tabs.f ... ast a')'after  ... = true'after click, shown tab has aria-expanded = true'after  ...  false'after click, hidden tab has aria-expanded = falseafter second show event, shown tab still has aria-expanded = trueafter second show event, hidden tab has aria-expanded = false/opt/src/js/tests/unit/tooltip.js this is some dumb hack shit because sub pixels in firefox// this ... firefox Skip IE8 since it doesn't support SVG// Skip ... ort SVG'tooltip plugin''tooltip method is defined''tooltip'bootstrapTooltip'tooltip was set back to undefined (org value)'$tooltip'should expose default settings''defaults is defined''should empty title attribute''<a href="#" rel="tooltip" title="Another tooltip"/>''title attribute was emptied''should add data attribute for referencing original title''data-original-title''Another tooltip''original title preserved in data attribute''should add aria-describedby to the trigger on show''.tooltip''has a unique id''aria-describedby''tooltip id and aria-describedby on trigger match''trigger has aria-describedby''should remove aria-describedby from trigger on hide''trigger does not have aria-describedby''should assign a unique id tooltip element''tooltip has unique id''tooltip id has prefix''should place tooltips relative to placement option''.fade.bottom.in''has correct classes applied''tooltip removed''should allow html entities''<a href="#" rel="tooltip" title="&lt;b&gt;@fat&lt;/b&gt;"/>''.tooltip b''b tag was inserted''should respect custom classes''<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>''some-class''<div title="tooltip title"/>''show.bs.tooltip''inserted.bs.tooltip''tooltip was inserted''should fire shown event''<div title="tooltip title"></div>''shown.bs.tooltip''shown was called''should not fire shown event when show was prevented''should fire hide event''hide.bs.tooltip''should fire hidden event''hidden.bs.tooltip''should not fire hidden event when hide was prevented''should destroy tooltip''bs.tooltip''tooltip has data''tooltip has hover events''tooltip has extra click.foo event''tooltip is hidden''tooltip does not have data''tooltip still has click.foo''tooltip does not have hover events''should show tooltip with delegate selector on click''<div><a href="#" rel="tooltip" title="Another tooltip"/></div>''a[rel="tooltip"]''.fade.in''tooltip is faded in''tooltip was removed from dom''should show tooltip when toggle is called''<a href="#" rel="tooltip" title="tooltip on toggle"/>''should hide previously shown tooltip when toggle is called on tooltip''<a href="#" rel="tooltip" title="tooltip on toggle">@ResentedHook</a>''tooltip was faded out''should place tooltips inside body when container is body''body > .tooltip''tooltip is direct descendant of body''#qunit-fixture > .tooltip''tooltip is not in parent''should add position class before positioning so that position-specific styles are taken into account'styles'<style>''.tooltip.right { white-space: nowrap; }''.tooltip.right .tooltip-inner { max-width: none; }''</style>'$styles$container'<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"/>'top2topDiff'should use title attribute for tooltip text''<a href="#" rel="tooltip" title="Simple tooltip"/>''.tooltip-inner''Simple tooltip''title from title attribute is set''tooltip removed from dom''should prefer title attribute over title option''This is a tooltip with some content''title is set from title attribute while preferred over title option''should use title option''<a href="#" rel="tooltip"/>''title from title option is set''should be placed dynamically to viewport with the dynamic placement option''<style> div[rel="tooltip"] { position: absolute; } #qunit-fixture { top: inherit; left: inherit } </style>''relative'$topTooltip'<div style="left: 0; top: 0;" rel="tooltip" title="Top tooltip">Top Dynamic Tooltip</div>''.bottom''top positioned tooltip is dynamically positioned to bottom''top positioned tooltip removed from dom'$rightTooltip'<div style="right: 0;" rel="tooltip" title="Right tooltip">Right Dynamic Tooltip</div>''right auto''.left''right positioned tooltip is dynamically positioned left''right positioned tooltip removed from dom'$leftTooltip'<div style="left: 0;" rel="tooltip" title="Left tooltip">Left Dynamic Tooltip</div>''auto left''.right''left positioned tooltip is dynamically positioned right''left positioned tooltip removed from dom''should position tip on top if viewport has enough space and placement is "auto top"''body { padding-top: 100px; }''#section { height: 300px; border: 1px solid red; padding-top: 50px }''div[rel="tooltip"] { width: 150px; border: 1px solid blue; }''<div id="section"/>''<div rel="tooltip" title="tip"/>''auto top''#section''.top''top positioned tooltip is dynamically positioned to top''should position tip on top if viewport has enough space and is not parent''#section { height: 300px; border: 1px solid red; margin-top: 100px; }''should position tip on bottom if the tip\'s dimension exceeds the viewport area and placement is "auto top"''#section { height: 300px; border: 1px solid red; }''should display the tip on top whenever scrollable viewport has enough room if the given placement is "auto top"''#scrollable-div { height: 200px; overflow: auto; }''.tooltip-item { margin: 200px 0 400px; width: 150px; }''<div id="scrollable-div"/>''<div rel="tooltip" title="tip" class="tooltip-item">Tooltip Item</div>''top auto''#scrollable-div''.fade.top.in''should display the tip on bottom whenever scrollable viewport doesn\'t have enough room if the given placement is "auto top"''.tooltip-item { padding: 200px 0 400px; width: 150px; }''should display the tip on bottom whenever scrollable viewport has enough room if the given placement is "auto bottom"''.spacer { height: 400px; }''.spacer:first-child { height: 200px; }''.tooltip-item { width: 150px; }''<div class="spacer"/>''bottom auto''should display the tip on top whenever scrollable viewport doesn\'t have enough room if the given placement is "auto bottom"''.tooltip-item { margin-top: 400px; width: 150px; }'400'should adjust the tip\'s top position when up against the top of the viewport''.tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }''a[rel="tooltip"] { position: fixed; }''<a href="#" rel="tooltip" title="tip" style="top: 0px; left: 0px;"/>''should adjust the tip\'s top position when up against the bottom of the viewport''<a href="#" rel="tooltip" title="tip" style="bottom: 0px; left: 0px;"/>''should adjust the tip\'s left position when up against the left of the viewport''should adjust the tip\'s left position when up against the right of the viewport''<a href="#" rel="tooltip" title="tip" style="top: 0px; right: 0px;"/>''should adjust the tip when up against the right of an arbitrary viewport''.tooltip, .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }''.container-viewport { position: absolute; top: 50px; left: 60px; width: 300px; height: 300px; }''<div class="container-viewport"/>''<a href="#" rel="tooltip" title="tip" style="top: 50px; left: 350px;"/>''should get viewport element from function''viewport function was passed target as argument''should not misplace the tip when the right edge offset is greater or equal than the viewport width''.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }''.container-viewport, .container-viewport *, .container-viewport *:before, .container-viewport *:after { box-sizing: border-box; }''.tooltip, .tooltip .tooltip-inner { width: 50px; height: 50px; max-width: none; background: red; }''.container-viewport { padding: 100px; margin-left: 100px; width: 100px; }''<a href="#" rel="tooltip" title="tip">foobar</a>''should not error when trying to show an auto-placed tooltip that has been removed from the dom''.tooltip(\'show\') should not throw an error if element no longer is in dom''should place tooltip on top of element'containerHTML'<div>''<p style="margin-top: 200px">''<a href="#" title="very very very very very very very long tooltip">Hover me</a>''absolute''should place tooltip inside viewport''<a href="#" title="Very very very very very very very very long tooltip">Hover me</a>''should show tooltip if leave event hasn\'t occurred before delay expires''100ms: tooltip is not faded in''200ms: tooltip is faded in''should not show tooltip if leave event occurs before delay expires''100ms: tooltip not faded in''200ms: tooltip not faded in''should not hide tooltip if leave event occurs and enter event occurs within the hide delay''1ms: tooltip faded in''100ms: tooltip still faded in''200ms: tooltip still faded in''should not show tooltip if leave event occurs before delay expires, even if hide delay is 0''250ms: tooltip not faded in''should wait 200ms before hiding the tooltip''.in''200ms: tooltip removed''should correctly position tooltips on SVG elements'SVGElement'.tooltip { position: absolute; }''.tooltip .tooltip-inner { width: 24px; height: 24px; font-family: Helvetica; }''<div style="position: fixed; top: 0; left: 0;">''  <svg width="200" height="200">''    <circle cx="100" cy="100" r="10" title="m" id="theCircle" />''  </svg>'$circle'#theCircle''tooltip has correct horizontal location''should correctly determine auto placement based on container rather than parent''.tooltip { position: absolute; display: block; font-size: 12px; line-height: 1.4; }''.tooltip .tooltip-inner { max-width: 200px; padding: 3px 8px; font-family: Helvetica; text-align: center; }''#trigger-parent {''  position: fixed;''  top: 100px;''  right: 17px;''}''<span id="trigger-parent"><a id="tt-trigger" title="If a_larger_text is written here, it won\'t fit using older broken version of BS">HOVER OVER ME</a></span>''#tt-trigger'tipXrightEdgetriggerXleftEdge'tooltip with auto left placement, when near the right edge of the viewport, gets left placement''should not reload the tooltip on subsequent mouseenter events'titleHtmlgetUID'<p id="tt-content">''</p><p>''<span id="tt-outer" rel="tooltip" data-trigger="hover" data-placement="top">some text</span>''#tt-outer'currentUid'#tt-content''should not reload the tooltip if the mouse leaves and re-enters before hiding'hoverState'out''the tooltip hoverState should be set to "out"''the tooltip hoverState should be set to "in"''should position arrow correctly when tooltip is moved to not appear offscreen''.tooltip-arrow { position: absolute; width: 0; height: 0; }''.tooltip .tooltip-inner { max-width: 200px; padding: 3px 8px; }''<a href="#" title="tooltip title" style="position: absolute; bottom: 0; right: 0;">Foobar</a>'arrowStyles'.tooltip-arrow'/left/i/top/i'arrow positioned correctly''should correctly position tooltips on transformed elements'styleProps'webkitTransform''msTransform''#qunit-fixture { top: 0; left: 0; }''#target { position: absolute; top: 100px; left: 50px; width: 100px; height: 200px; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }''<div id="target" title="1"/>''tooltip has correct vertical location''should throw an error when initializing tooltip on the document object without specifying a delegation selector''`selector` option must be specified when initializing tooltip on the window.document object!''should do nothing when an attempt is made to hide an uninitialized tooltip''<span data-toggle="tooltip" title="some tip">some text</span>''hidden.bs.tooltip shown.bs.tooltip''should not fire any tooltip events''should not initialize the tooltip''<a href="#" data-toggle="tooltip" title="Another tooltip"></a>''tooltip `template` option must consist of exactly 1 top-level element!''should not remove tooltip if multiple triggers are set and one is still active''<button>Trigger</button>''click hover focus'showingTooltiptriggerstooltip plugin$(docum ... tooltip'toolti ... efined'tooltip method is defined$.fn.bo ... Tooltip$.fn.to ... flict()$.fn.to ... onflictafterEa ... p\n    }functio ... p\n    }{\n      ... p\n    }$.fn.to ... Tooltipdelete  ... Tooltip'toolti ... value)'tooltip was set back to undefined (org value)tooltip was set back to undefined var $to ... oltip()$toolti ... oltip()$el.boo ... oltip()$el.bootstrapTooltip$toolti ... nceof $$tooltip[0]should expose default settings'defaul ... efined'defaults is definedshould empty title attributevar $tr ... oltip()$trigge ... oltip()$('<a h ... oltip()$('<a h ... Tooltip$('<a h ... ip"/>')'<a hre ... tip"/>'<a href="#" rel="tooltip" title="Another tooltip"/>assert. ... ptied')$trigge ... title')'title  ... mptied'title attribute was emptied'should ...  title'should add data attribute for referencing original title'data-o ... -title'data-original-title'origin ... ribute'original title preserved in data attribute'should ... n show'should add aria-describedby to the trigger on show{\n    a ... y')\n  }var $tr ... 'show')$trigge ... 'show')var id  ... r('id')id = $( ... r('id')$('.too ... r('id')$('.tooltip').attr$('.tooltip').tooltipassert. ... ue id')$('#' + id).length$('#' + id)'#' + idhas a unique idassert. ... match')$('.too ... bedby')$trigger.attr('id')'toolti ...  match'tooltip id and aria-describedby on trigger matchassert. ... bedby')$trigge ... bedby')$trigge ... tribute$trigger[0]'trigge ... ibedby'trigger has aria-describedby'should ... n hide'should remove aria-describedby from trigger on hidevar $tr ... xture')$trigge ... xture')$trigge ... Tooltip$trigge ... 'hide')!$trigg ... bedby')trigger does not have aria-describedbyshould assign a unique id tooltip elementfunctio ... x')\n  }{\n    a ... x')\n  }'toolti ... que id'tooltip has unique idassert. ... refix')id.inde ... oltip')'toolti ... prefix'tooltip id has prefix'should ... option'should place tooltips relative to placement optionvar $to ... tom' })$toolti ... tom' })$('<a h ... tom' }){ place ... ttom' }$toolti ... 'show')$toolti ... Tooltip$('.too ... om.in')$('.tooltip').is.fade.bottom.in'has co ... pplied'has correct classes applied$toolti ... 'hide')$('.tooltip').lengthtooltip removed'should ... tities'should allow html entitiesvar $to ... true })$toolti ... true })$('<a h ... true })$('<a h ... t;"/>')'<a hre ... gt;"/>'<a href="#" rel="tooltip" title="&lt;b&gt;@fat&lt;/b&gt;"/>{ html: true }$('.too ... .length$('.tooltip b').tooltip btooltip bb tag was inserted'should ... lasses'should respect custom classesvar $to ... iv>' })$toolti ... iv>' })$('<a h ... iv>' })<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>$('.too ... class')$('.too ... asClasssome-class$('<div ... Tooltip$('<div ... le"/>')'<div t ... tle"/>'<div title="tooltip title"/>show.bs.tooltip'insert ... ooltip'inserted.bs.tooltip'toolti ... serted'tooltip was insertedshould fire shown event'<div t ... </div>'<div title="tooltip title"></div>shown.bs.tooltipshown was calledshould not fire shown event when show was preventedshould fire hide event$(this) ... Tooltiphide.bs.tooltipshould fire hidden eventhidden.bs.tooltipshould not fire hidden event when hide was prevented'should ... ooltip'should destroy tooltipvar $to ...  () {})$toolti ...  () {})$('<div ...  () {})$('<div ... oltip()$toolti ... oltip')$tooltip.databs.tooltiptooltip has data'toolti ... events'tooltip has hover events'toolti ...  event'tooltip has extra click.foo eventtooltip has extra click$toolti ... stroy')!$toolt ... s('in')$toolti ... s('in')$tooltip.hasClasstooltip is hidden!$._dat ... oltip')$._data ... oltip')'toolti ... e data'tooltip does not have data'toolti ... ck.foo'tooltip still has click.footooltip still has clicktooltip does not have hover eventsshould show tooltip with delegate selector on click<div><a href="#" rel="tooltip" title="Another tooltip"/></div>a[rel="tooltip"][rel="tooltip"]assert. ... ed in')$('.too ... de.in').fade.in'toolti ... ded in'tooltip is faded in'toolti ... om dom'tooltip was removed from domshould show tooltip when toggle is called$('<a h ... oggle')$('<a h ... ual' })$('<a h ... le"/>')'<a hre ... gle"/>'<a href="#" rel="tooltip" title="tooltip on toggle"/>{ trigg ... nual' }should hide previously shown tooltip when toggle is called on tooltip<a href="#" rel="tooltip" title="tooltip on toggle">@ResentedHook</a>$('.too ... oggle')$('.too ... Tooltipassert. ... d out')$('.tooltip').not'toolti ... ed out'tooltip was faded out'should ... s body'should place tooltips inside body when container is bodyvar $to ... 'show')$('<a h ... ody' }){ conta ... body' }assert. ...  body')$('body ... .length$('body > .tooltip')body > .tooltipbody > 'toolti ... f body'tooltip is direct descendant of bodyassert. ... arent')$('#qun ... oltip')'#qunit ... ooltip'#qunit-fixture > .tooltip#qunit-fixture > 'toolti ... parent'tooltip is not in parent'should ... ccount'should add position class before positioning so that position-specific styles are taken into accountvar sty ... style>'styles  ... style>''<style ... one; }''<style ... rap; }'<style>'.toolt ... rap; }'.tooltip.right { white-space: nowrap; }'.toolt ... one; }'.tooltip.right .tooltip-inner { max-width: none; }</style>$styles ... 'head')$(style ... 'head')$(styles).appendTo$(styles)$contai ... xture')$('<div/>').appendTovar $ta ... 'show')$target ... 'show')$('<a h ... tainer)$('<a h ... ne"/>')'<a hre ... ine"/>'<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"/>viewport: nullvar $to ... oltip')$contai ... oltip')$container.findvar top ... t / 2))top = M ... t / 2))Math.ro ... t / 2))$target ... ht / 2)$target.offset().top$target.offset()$target.offset($targe ... ht / 2)$target ... ght / 2$target ... tHeight$target[0]($toolt ... ht / 2)$toolti ... ght / 2$toolti ... tHeightvar top ... ().top)top2 =  ... ().top)Math.ro ... ().top)$toolti ... t().top$tooltip.offset()$tooltip.offsetvar top ...  - top2topDiff = top - top2top - top2assert. ...  >= -1)topDiff ... f >= -1topDiff <= 1topDiff >= -1$target ... 'hide')$target ... Tooltip$container.remove()$container.remove$styles.remove()$styles.remove'should ... p text'should use title attribute for tooltip text<a href="#" rel="tooltip" title="Simple tooltip"/>$('.too ... .text()$('.too ... ').text$('.too ... inner')$('.too ... hildren.tooltip-innerSimple tooltip'title  ... is set'title from title attribute is settooltip removed from domshould prefer title attribute over title optionvar $to ...      })$toolti ...      })title:  ... ontent''This i ... ontent'This is a tooltip with some contentassert. ... ption')'title  ... option'title is set from title attribute while preferred over title optionshould use title option<a href="#" rel="tooltip"/>title from title option is setshould be placed dynamically to viewport with the dynamic placement option<style> div[rel="tooltip"] { position: absolute; } #qunit-fixture { top: inherit; left: inherit } </style>$('<div ...    .cssposition: 'relative'height: '100%'var $to ... ure' })$topToo ... ure' })$('<div ... ure' })$('<div ... tainer)'<div s ... </div>'<div style="left: 0; top: 0;" rel="tooltip" title="Top tooltip">Top Dynamic Tooltip</div>{ place ... ture' }placement: 'auto'viewpor ... ixture'$topToo ... 'show')$topToo ... Tooltipassert. ... ottom').bottom'top po ... bottom'top positioned tooltip is dynamically positioned to bottom$topToo ... 'hide')'top po ... om dom'top positioned tooltip removed from domvar $ri ... ure' })$rightT ... ure' })<div style="right: 0;" rel="tooltip" title="Right tooltip">Right Dynamic Tooltip</div>placeme ... t auto'right auto$rightT ... 'show')$rightT ... Tooltipassert. ...  left')$('.too ... .left').left'right  ... d left'right positioned tooltip is dynamically positioned left$rightT ... 'hide')'right  ... om dom'right positioned tooltip removed from domvar $le ... ure' })$leftTo ... ure' })<div style="left: 0;" rel="tooltip" title="Left tooltip">Left Dynamic Tooltip</div>placeme ... o left'auto left$leftTo ... 'show')$leftTo ... Tooltipassert. ... right').right'left p ...  right'left positioned tooltip is dynamically positioned right$leftTo ... 'hide')'left p ... om dom'left positioned tooltip removed from dom'should ... o top"'should position tip on top if viewport has enough space and placement is "auto top"'<style ... lue; }''<style ... 50px }''<style ... 0px; }''body { ... 0px; }'body { padding-top: 100px; }'#secti ... 50px }'#section { height: 300px; border: 1px solid red; padding-top: 50px }'div[re ... lue; }'div[rel="tooltip"] { width: 150px; border: 1px solid blue; }$('<div ... on"/>')<div id="section"/>var $ta ...      })$('<div ... ip"/>')'<div r ... tip"/>'<div rel="tooltip" title="tip"/>placeme ... to top'auto topviewport: '#section'#sectionassert. ... o top')$('.too ... '.top').top'top po ... to top'top positioned tooltip is dynamically positioned to topshould position tip on top if viewport has enough space and is not parent'#secti ... 0px; }'#section { height: 300px; border: 1px solid red; margin-top: 100px; }should position tip on bottom if the tip's dimension exceeds the viewport area and placement is "auto top"'<style ... red; }''#secti ... red; }'#section { height: 300px; border: 1px solid red; }should display the tip on top whenever scrollable viewport has enough room if the given placement is "auto top"'<style ... uto; }''#scrol ... uto; }'#scrollable-div { height: 200px; overflow: auto; }'.toolt ... 0px; }'.tooltip-item { margin: 200px 0 400px; width: 150px; }$('<div ... iv"/>')'<div i ... div"/>'<div id="scrollable-div"/>'<div r ... </div>'<div rel="tooltip" title="tip" class="tooltip-item">Tooltip Item</div>placeme ... p auto'top autoviewpor ... le-div'#scrollable-div$('#scr ... op(100)$('#scr ... rollTop$('#scrollable-div')$('.too ... op.in').fade.top.inshould display the tip on bottom whenever scrollable viewport doesn't have enough room if the given placement is "auto top".tooltip-item { padding: 200px 0 400px; width: 150px; }$('#scr ... op(200)'should ... ottom"'should display the tip on bottom whenever scrollable viewport has enough room if the given placement is "auto bottom"'.space ... 0px; }'.spacer { height: 400px; }.spacer:first-child { height: 200px; }.tooltip-item { width: 150px; }$('<div ... er"/>')$('<div ...  .after$('<div ... .before'<div c ... cer"/>'<div class="spacer"/>placeme ... m auto'bottom autoshould display the tip on top whenever scrollable viewport doesn't have enough room if the given placement is "auto bottom".tooltip-item { margin-top: 400px; width: 150px; }$('#scr ... op(400)'should ... ewport'should adjust the tip's top position when up against the top of the viewport'<style ... xed; }'.tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'a[rel= ... xed; }'a[rel="tooltip"] { position: fixed; }$('<a h ... x;"/>')'<a hre ... px;"/>'<a href="#" rel="tooltip" title="tip" style="top: 0px; left: 0px;"/>viewpor ...       }padding: 12assert. ... p), 12)$contai ... t().top$contai ... ffset()$contai ... .offsetshould adjust the tip's top position when up against the bottom of the viewport<a href="#" rel="tooltip" title="tip" style="bottom: 0px; left: 0px;"/>assert. ... eight))Math.ro ... Height)$(windo ... tHeight$(windo ... () - 12$(window).height()$(window).heightshould adjust the tip's left position when up against the left of the viewportassert. ... t), 12)Math.ro ... ).left)$contai ... ().leftshould adjust the tip's left position when up against the right of the viewportvar $co ... 'body')$contai ... 'body')<a href="#" rel="tooltip" title="tip" style="top: 0px; right: 0px;"/>assert. ... Width))$toolti ... ().leftMath.ro ... tWidth)$(windo ... etWidth$(window).width()$(window).width$toolti ... etWidthshould adjust the tip when up against the right of an arbitrary viewport.tooltip, .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'.conta ... 0px; }'.container-viewport { position: absolute; top: 50px; left: 60px; width: 300px; height: 300px; }var $co ... t.body)$contai ... t.body)$('<div ... t.body)'<div c ... ort"/>'<div class="container-viewport"/><a href="#" rel="tooltip" title="tip" style="top: 50px; left: 350px;"/>viewpor ... ewport'60 + $c ... etWidth60 + $c ... width()$container.width()$container.width'should ... nction'should get viewport element from functionvar $ta ... tainer)$target ... tainer)assert. ... ument')$element[0]'viewpo ... gument'viewport function was passed target as argumentreturn  ... port'))($eleme ... port'))$elemen ... wport')$element.closest'should ...  width'should not misplace the tip when the right edge offset is greater or equal than the viewport width'<style ... box; }''.toolt ... box; }'.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'.conta ... box; }'.container-viewport, .container-viewport *, .container-viewport *:before, .container-viewport *:after { box-sizing: border-box; }'.toolt ... red; }'.tooltip, .tooltip .tooltip-inner { width: 50px; height: 50px; max-width: none; background: red; }.container-viewport { padding: 100px; margin-left: 100px; width: 100px; }$('<a h ... r</a>')'<a hre ... ar</a>'<a href="#" rel="tooltip" title="tip">foobar</a>assert. ... h / 2))Math.ro ... th / 2)$target ... dth / 2$target ... h() / 2$target ... ().left$target.position()$target.position$target.width() / 2$target.width()$target.width$toolti ... dth / 2'should ... he dom'should not error when trying to show an auto-placed tooltip that has been removed from the domvar passed = truepassed = truevar $to ... uto' })$toolti ... uto' })$('<a h ... uto' })$('<a h ...    .one$(this).remove()$(this).remove{ place ... auto' }try {\n  ... )\n    }catch ( ... )\n    }passed = falseconsole.log(err)assert. ... n dom')'.toolt ... in dom'.tooltip('show') should not throw an error if element no longer is in dom('show') should not throw an error if element no longer is in domshould place tooltip on top of elementcontain ... </div>''<div>' ... </div>''<div>' ...  '</p>''<div>' ... me</a>''<div>' ... 00px">'<div><p style="margin-top: 200px">'<a hre ... me</a>'<a href="#" title="very very very very very very very long tooltip">Hover me</a>$(conta ... xture')$(conta ... ppendTo$(conta ...      })$(conta ...    .css$(containerHTML)position: 'absolute'textAlign: 'right'width: 300height: 300$contai ... 'show')$contai ... Tooltip$contai ...      })$contai ... ', 200)$contai ...    .css$contai ... nd('a')$contai ...   .findplacement: 'top'animate: falseassert. ... ).top))Math.ro ... ight())$toolti ... eight()$tooltip.outerHeight$trigge ... t().top$trigger.offset()$trigger.offsetshould place tooltip inside viewportwidth: 200height: 200$('<a h ...    .css$('<a h ... e</a>')<a href="#" title="Very very very very very very very very long tooltip">Hover me</a>assert. ... t >= 0)$('.too ... ft >= 0$('.too ... ().left$('.too ... ffset()$('.tooltip').offset'should ... xpires'should show tooltip if leave event hasn't occurred before delay expiresvar $to ...  150 })$toolti ...  150 })$('<a h ...  150 }){ delay: 150 }delay: 150!$('.to ... de.in')'100ms: ... ded in'100ms: tooltip is not faded insetTime ... }, 200)'200ms: ... ded in'200ms: tooltip is faded in$toolti ... enter')$tooltip.triggershould not show tooltip if leave event occurs before delay expires100ms: tooltip not faded in$toolti ... seout')200ms: tooltip not faded in'should ...  delay'should not hide tooltip if leave event occurs and enter event occurs within the hide delayvar $to ... 150 }})$toolti ... 150 }})$('<a h ... 150 }}){ delay ...  150 }}delay:  ... : 150 }{ show: ... : 150 }show: 0hide: 150'1ms: t ... ded in'1ms: tooltip faded in100ms: tooltip still faded in200ms: tooltip still faded in'should ... y is 0'should not show tooltip if leave event occurs before delay expires, even if hide delay is 0var $to ... : 0 }})$toolti ... : 0 }})$('<a h ... : 0 }}){ delay ... e: 0 }}delay:  ... de: 0 }{ show: ... de: 0 }show: 150hide: 0'250ms: ... ded in'250ms: tooltip not faded inshould wait 200ms before hiding the tooltipfunctio ... \n\n    }$toolti ... de.in')$toolti ... $tip.is$toolti ... ').$tip!$toolt ... ('.in')$toolti ... ('.in').in'200ms: ... emoved'200ms: tooltip removedshould correctly position tooltips on SVG elements{\n    i ... w')\n  }if (!wi ... n\n    }!window.SVGElementwindow.SVGElement'<style ... ica; }''<style ... ute; }''.toolt ... ute; }'.tooltip { position: absolute; }'.toolt ... ica; }'.tooltip .tooltip-inner { width: 24px; height: 24px; font-family: Helvetica; }$('#qun ... /div>')$('#qun ... .append'<div s ... </svg>''<div s ... le" />''<div s ... "200">''<div s ... : 0;">'<div style="position: fixed; top: 0; left: 0;">'  <svg ... "200">'  <svg width="200" height="200">'    <c ... le" />'    <circle cx="100" cy="100" r="10" title="m" id="theCircle" />  </svg>var $ci ... ircle')$circle ... ircle')$('#theCircle')#theCircle$circle ... ual' })$circle ... Tooltip$circle ...      })$circle\n      .onvar off ... ffset()offset  ... ffset()Math.ab ... 8) <= 1Math.ab ... t - 88)offset.left - 88offset.left'toolti ... cation'tooltip has correct horizontal location$circle ... 'hide'){ conta ... nual' }$circle ... 'show')should correctly determine auto placement based on container rather than parent'<style ...   + '}''<style ...  17px;''<style ... 100px;''<style ... fixed;''<style ... rent {''<style ... ter; }''<style ... 1.4; }''.toolt ... 1.4; }'.tooltip { position: absolute; display: block; font-size: 12px; line-height: 1.4; }'.toolt ... ter; }'.tooltip .tooltip-inner { max-width: 200px; padding: 3px 8px; font-family: Helvetica; text-align: center; }#trigger-parent {  position: fixed;  top: 100px;  right: 17px;$('#qun ... span>')<span id="trigger-parent"><a id="tt-trigger" title="If a_larger_text is written here, it won't fit using older broken version of BS">HOVER OVER ME</a></span>var $tr ... igger')$trigge ... igger')$('#tt-trigger')#tt-trigger$trigge ...      })$trigge ...     .on$trigger\n      .onvar $ti ... inner')$tip =  ... inner')$('.tooltip-inner')var tip ... width()tipXrig ... width()$tip.of ... width()$tip.offset().left$tip.offset()$tip.offset$tip.width()$tip.widthvar tri ... ().lefttrigger ... ().left$trigge ... ().lefttipXrig ... eftEdge'toolti ... cement'tooltip with auto left placement, when near the right edge of the viewport, gets left placementshould not reload the tooltip on subsequent mouseenter eventsfunctio ... ())\n  }{\n    a ... ())\n  }var tit ... '\n    }titleHt ... '\n    }functio ... '\n    }var uid ... oltip')uid = $ ... oltip')$.fn.bo ... oltip')$.fn.bo ... .getUID$.fn.bo ... ototypereturn  ...  '</p>''<p id= ...  '</p>''<p id= ... ' + uid'<p id= ... /p><p>''<p id= ... tent">'<p id="tt-content"></p><p>$toolti ... xture')<span id="tt-outer" rel="tooltip" data-trigger="hover" data-placement="top">some text</span>$toolti ... \n    })animation: falsedelay:  ... : 500 }{ show: ... : 500 }hide: 500container: $tooltiptitle: titleHtml$('#tt- ... enter')$('#tt- ... trigger$('#tt-outer')#tt-outervar cur ... .text()current ... .text()$('#tt- ... .text()$('#tt- ... ').text$('#tt-content')#tt-contentassert. ... text())'should ... hiding'should not reload the tooltip if the mouse leaves and re-enters before hidingvar obj ... oltip')obj = $ ... oltip')$('#tt- ... leave')assert. ... "out"')obj.hov ... = 'out'obj.hoverState'the to ...  "out"'the tooltip hoverState should be set to "out"obj.hov ... == 'in''the to ... o "in"'the tooltip hoverState should be set to "in"'should ... screen'should position arrow correctly when tooltip is moved to not appear offscreen'<style ... 8px; }''<style ... : 0; }''.toolt ... : 0; }'.tooltip-arrow { position: absolute; width: 0; height: 0; }'.toolt ... 8px; }'.tooltip .tooltip-inner { max-width: 200px; padding: 3px 8px; }$('<a h ... 'body')<a href="#" title="tooltip title" style="position: absolute; bottom: 0; right: 0;">Foobar</a>var arr ... style')arrowSt ... style')$(this) ... style')$(this) ... ').attr$(this) ... arrow')$(this) ... ip.find$(this) ... ').$tip$(this) ... oltip')$(this).data.tooltip-arrowassert. ... ectly')/left/i ... Styles)/left/i.test!/top/i ... Styles)/top/i. ... Styles)/top/i.test'arrow  ... rectly'arrow positioned correctlyshould correctly position tooltips on transformed elements{\n    v ... w')\n  }var sty ... t.stylestylePr ... t.styledocumen ... t.styleif (!(' ... n\n    }!('tran ... eProps)('trans ... eProps)'transf ... leProps!('webk ... eProps)('webki ... eProps)'webkit ... leProps!('msTr ... eProps)('msTra ... eProps)'msTran ... leProps'<style ... eg); }''#qunit ... : 0; }'#qunit-fixture { top: 0; left: 0; }'#targe ... eg); }'#target { position: absolute; top: 100px; left: 50px; width: 100px; height: 200px; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }var $el ... xture')$elemen ... xture')$('<div ... "1"/>')<div id="target" title="1"/>$elemen ...      })$elemen ... Tooltip$element\n      .onMath.ab ... 6) <= 1Math.ab ...  - 126)offset.top - 126tooltip has correct vertical location$elemen ... 'hide')$elemen ... 'show')should throw an error when initializing tooltip on the document object without specifying a delegation selector$(docum ... on?' })$(docum ... Tooltip{ title ...  on?' }`selector` option must be specified when initializing tooltip on the window.document object!`selector` option must be specified when initializing tooltip on the windowshould do nothing when an attempt is made to hide an uninitialized tooltipfunctio ... p')\n  }{\n    a ... p')\n  }var $to ... 'hide')$('<spa ... Tooltip<span data-toggle="tooltip" title="some tip">some text</span>'hidden ... ooltip'hidden.bs.tooltip shown.bs.tooltiptooltip shownshould not fire any tooltip eventsassert. ... oltip')should not initialize the tooltip$('<a h ... ></a>')'<a hre ... "></a>'<a href="#" data-toggle="tooltip" title="Another tooltip"></a>'toolti ... ement!'tooltip `template` option must consist of exactly 1 top-level element!should not remove tooltip if multiple triggers are set and one is still activeassert.expect(41)var $el ... alse })$el = $ ... alse })$('<but ... alse })$('<but ... Tooltip<button>Trigger</button>{ trigg ... false }trigger ...  focus'click hover focusvar too ... oltip')tooltip ... oltip')$el.dat ... oltip')var $to ... p.tip()$toolti ... p.tip()tooltip.tip()tooltip.tipfunctio ...  'in' }{ retur ...  'in' }return  ... == 'in'$toolti ... == 'in'tooltip ... == 'in'tooltip.hoverStatevar tes ... ]\n    ]tests = ... ]\n    ][\n      ... ]\n    ]['mouse ... leave']['focus ... usout']['click', 'click']['mouse ... usout']['focus ... leave']['click ... click']['mouse ... click']assert. ... ltip())!showingTooltip()showingTooltip()triggers.length$el.tri ... rs[i]);$el.tri ... ers[i])$el.triggertriggers[i]i < (len - 1)(len - 1)/opt/src/js/tests/vendor/qunit.js/opt/src/js/tests/vendor!
 * QUnit 1.22.0
 * https://qunitjs.com/
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license
 * https://jquery.org/license
 *
 * Date: 2016-02-23T15:57Z
 /*!\n *  ... 57Z\n */ Store a local window from the global to allow direct references.// Stor ... rences. returns a new Array with the elements that are in a but not in b// retu ... ot in b from jquery.js// from jquery.js
 * Makes a clone of an object using only Array or Object as base,
 * and copies over the own enumerable properties.
 *
 * @param {Object} obj
 * @return {Object} New object with only the own properties (recursively).
 /**\n *  ... y).\n */ Avoid "Member not found" error in IE8 caused by messing with window.constructor// Avoi ... tructor This block runs on every environment, so `global` is being used instead of `window`// This ... window` to avoid errors on node.// to a ... n node. Consider: typeof null === object// Cons ...  object Safe object type checking// Safe ... hecking allow just a key to turn on a flag, e.g., test.html?noglobals// allo ... globals Doesn't support IE6 to IE9, it will return undefined on these browsers// Does ... rowsers See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack// See  ... r/Stack Support: Safari <=6 only// Supp ... =6 only exclude useless self-reference for generated Error objects// excl ... objects for actual exceptions, this is useful// for  ...  useful Support: Safari <=7 only, IE <=10 - 11 only// Supp ... 11 only Not all browsers generate the `stack` property for `new Error()`, see also #636// Not  ... so #636
 * Config object: Maintain internal state
 * Later exposed as QUnit.config
 * `config` initialized at top of scope
  The queue of tests to run// The  ...  to run block until document ready// bloc ... t ready by default, run previously failed tests first// by d ... s first very useful in combination with "Hide passed tests" checked// very ... checked by default, modify document.title when suite is done// by d ... is done HTML Reporter: collapse every test except the first failing test// HTML ... ng test If false, all failing tests will be expanded// If f ... xpanded by default, scroll to top of the page when suite is done depth up-to which object will be dumped// dept ...  dumped when enabled, all tests must call expect()// when ... xpect() add checkboxes that are persisted in the query-string// add  ... -string when enabled, the id is set to `true` as a `QUnit.config` property// when ... roperty Set of all modules.// Set  ... odules. Stack of nested modules// Stac ... modules The first unnamed module// The  ...  module Push a loose unnamed module to the modules collection// Push ... lection String search anywhere in moduleName+testName// Stri ... estName Ensure that urlParams.testId is an array// Ensu ... n array Register logging callbacks// Regi ... llbacks DEPRECATED: This will be removed on QUnit 2.0.0+// DEPR ...  2.0.0+ Stores the registered functions allowing restoring// Stor ... storing at verifyLoggingCallbacks() if modified// at v ... odified Initialize key collection of logging callback// Init ... allback DEPRECATED: This will be removed on 2.0.0+ This function verifies if the loggingCallbacks were modified by the user// This ... he user If so, it will restore it, assign the given callback and print a console warning// If s ... warning Restore the callback function// Rest ... unction Assign the deprecated given callback// Assi ... allback `onErrorFnPrev` initialized at top of scope// `onE ... f scope Preserve other handlers// Pres ... andlers Cover uncaught exceptions// Cove ... eptions Returning true will suppress the default browser handler,// Retu ... andler, returning false will let it run.// retu ... it run. Treat return value as window.onerror itself does,// Trea ... f does, Only do our handling if not suppressed.// Only ... ressed. Figure out if we're running the tests from a server or not// Figu ...  or not Expose the current QUnit version// Expo ... version call on start of module test to prepend name to all tests// call ... l tests DEPRECATED: handles setup/teardown functions,// DEPR ... ctions, beforeEach and afterEach should be used instead// befo ... instead DEPRECATED: QUnit.asyncTest() will be removed in QUnit 2.0.// DEPR ... it 2.0. DEPRECATED: The functionality of QUnit.start() will be altered in QUnit 2.0. In QUnit 2.0, invoking it will ONLY affect the `QUnit.config.autostart` blocking behavior.// In Q ... havior. The page isn't completely loaded yet, so bail out and let `QUnit.load` handle it// The  ... ndle it If a test is running, adjust its semaphore// If a ... maphore If semaphore is non-numeric, throw error// If s ... w error Don't start until equal number of stop-calls// Don' ... p-calls throw an Error if start is called more often than stop// thro ... an stop DEPRECATED: QUnit.stop() will be removed in QUnit 2.0. If there isn't a test running, don't allow QUnit.stop() to be called// If t ...  called Initialize the configuration options// Init ... options If the test run hasn't officially begun yet// If t ... gun yet Record the time of the test run's beginning// Reco ... ginning Delete the loose unnamed module if unused.// Dele ... unused. Avoid unnecessary information by not logging modules' test environments// Avoi ... onments The test run is officially beginning now// The  ... ing now Reset async tracking for each phase of the Test lifecycle// Rese ... fecycle A slight delay to allow this iteration of the event loop to finish (more assertions, etc.)// A sl ... , etc.) Log the last module results// Log  ... results Register unique strings// Regi ... strings Skipped tests will fully ignore any sent callback// Skip ... allback Emit moduleStart when we're switching from one module to another// Emit ... another They could be equal (both undefined) but if the previousModule property doesn't// They ... doesn't yet exist it means this is the first test in a suite that isn't wrapped in a// yet  ... ed in a module, in which case we'll just emit a moduleStart event for 'undefined'.// modu ... fined'. Without this, reporters can get testStart before moduleStart  which is a problem.// With ... roblem. else next test will carry the responsibility// else ... ibility Restart the tests if they're blocking// Rest ... locking Currently only used for module level hooks, can be used to add global level ones// Curr ... el ones Hooks are ignored on skipped tests// Hook ... d tests HTML Reporter use// HTML Reporter use Source of Test// Source of Test DEPRECATED: this property will be removed in 2.0.0, use runtime instead// DEPR ... instead QUnit.reset() is deprecated and will be replaced for a new// QUni ... r a new fixture reset function on QUnit 2.0/2.1.// fixt ... .0/2.1. It's still called here for backwards compatibility handling// It's ... andling each of these can by async// each ... y async Prioritize previously failed tests, detected from sessionStorage// Prio ... Storage resultInfo = { result, actual, expected, message, negative }// resu ... ative } Unblock// Unblock Internally-generated tests are always valid// Inte ... s valid If the filter matches, we need to honour include// If t ... include Otherwise, do the opposite// Othe ... pposite Resets the test setup. Useful for tests that modify the DOM.// Rese ... he DOM.
DEPRECATED: Use multiple tests instead of resetting inside a test.
Use testStart or testDone for custom cleanup.
This method will throw an error in 2.0, and will be removed in 2.1
/*\nDEPR ...  2.1\n*/ Return on non-browser environments// Retu ... onments This is necessary to not break on node tests// This ... e tests Gets current test obj// Gets ... est obj Based on Java's String.hashCode, a simple but not// Base ... but not rigorously collision resistant hashing function// rigo ... unction Convert the possibly negative integer hash code into an 8 character hex string, which isn't// Conv ... h isn't strictly necessary but increases user understanding that the id is a SHA-like hash// stri ... ke hash in Opera sometimes DOM element ids show up here, ignore them// in O ... re them Will be exposed as QUnit.asyncTest// Will ... yncTest Will be exposed as QUnit.test// Will ... it.test Will be exposed as QUnit.skip// Will ... it.skip Will be exposed as QUnit.only// Will ... it.only Assert helpers// Assert helpers Specify the number of expected assertions to guarantee that failed test// Spec ... ed test (no assertions are run at all) don't slip through.// (no  ... hrough. Increment this Test's semaphore counter, then return a function that// Incr ... on that decrements that counter a maximum of once.// decr ... f once. Exports test.push() to the user API// Expo ... ser API Alias of pushResult.// Alia ... Result. Backwards compatibility fix.// Back ... ty fix. Allows the direct use of global exported assertions and QUnit.assert.*// Allo ... ssert.* Although, it's use is not recommended as it can leak assertions// Alth ... ertions to other tests from async tests, because we only get a reference to the current test,// to o ... t test, not exactly the test where assertion were intended to be called.// not  ... called. Allow this assertion to continue running anyway...// Allo ... yway...jshint eqeqeq:false /*jshin ... alse */ 'expected' is optional unless doing string comparison// 'exp ... parison we don't want to validate thrown error// we d ... n error expected is a regexp// expe ...  regexp expected is a string// expe ...  string expected is a constructor, maybe an Error constructor// expe ... tructor expected is an Error object// expe ...  object expected is a validation function which returns true if validation passed// expe ...  passed Provide an alternative to assert.throws(), for environments that consider throws a reserved word// Prov ... ed word Known to us are: Closure Compiler, Narwhal// Know ... Narwhaljshint sub:true /*jshint sub:true */ Test for equality any JavaScript type.// Test ... t type. Author: Philippe Rathé <prathe@gmail.com>// Auth ... il.com> Stack to decide between skip/abort functions// Stac ... nctions Stack to avoiding loops from circular referencing// Stac ... rencingjshint proto: true /*jshin ... true */ To catch short annotation VS 'new' annotation of a declaration. e.g.:// To c ... . e.g.: `var i = 1;`// `var i = 1;` `var j = new Number(1);`// `var ... er(1);` Comparing constructors is more strict than using `instanceof`// Comp ... anceof` Ref #851// Ref #851 If the obj prototype descends from a null constructor, treat it// If t ... reat it as a null prototype.// as a ... totype. Allow objects with no prototype to be equivalent to// Allo ... lent to objects with Object as their constructor.// obje ... ructor. Include flags in the comparison// Incl ... parison - skip when the property is a method of an instance (OOP)// - sk ... e (OOP) - abort otherwise,// - ab ... erwise, initial === would have catch identical references anyway// init ...  anyway safe and faster// safe and faster Track reference to avoid circular references// Trac ... erences Default to true// Default to true Stack constructor before traversing properties// Stac ... perties Be strict: don't ensure hasOwnProperty and go deep// Be s ... go deep Unstack, we are done// Unst ... re done Collect b's properties// Coll ... perties Ensures identical properties name// Ensu ... es name The real equiv function// The  ... unction We're done when there's nothing more to compare// We'r ... compare Require type-specific equality// Requ ... quality ...across all consecutive argument pairs// ...a ... t pairs Based on jsDump by Ariel Flesler// Base ... Flesler http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html// http ... pt.html objType is used mostly internally, you can fix a (custom) type in advance// objT ... advance native arrays// native arrays NodeList objects// NodeList objects extra can be a number, shortcut for increasing-calling-decreasing// extr ... reasing The next 3 are exposed so you can use them// The  ... se them This is the list of parsers, to modify them, use dump.setParser// This ... tParser functions never have name in IE// func ... e in IE Some properties are not always enumerable on Error objects.// Some ... bjects. IE6 includes all attributes in .attributes, even ones not explicitly// IE6  ... licitly set. Those have values like undefined, null, 0, false, "" or// set. ... , "" or "inherit".// "inherit". Show content of TextNode or CDATASection// Show ... Section function calls it internally, it's the arguments part of the function// func ... unction 97 is 'a'// 97 is 'a' object calls it internally, the key part of an item in a map// obje ... n a map function calls it internally, it's the content of the function node calls it internally, it's a html attribute value// node ... e value if true, entities are escaped ( <, >, \t, space and \n )// if t ... nd \n ) indentation unit// indentation unit if true, items in a collection, are separated by a \n, else just a space.// if t ...  space. back compat// back compat Deprecated// Deprecated Extend assert methods to QUnit for Backwards compatibility// Exte ... ibility For browser, export only select globals// For  ... globals For nodejs// For nodejs For consistency with CommonJS environments' exports// For  ... exports For CommonJS with exports, but without module.exports, like Rhino// For  ... e Rhino
 * This file is a modified version of google-diff-match-patch's JavaScript implementation
 * (https://code.google.com/p/google-diff-match-patch/source/browse/trunk/javascript/diff_match_patch_uncompressed.js),
 * modifications are licensed as more fully set forth in LICENSE.txt.
 *
 * The original source of google-diff-match-patch is attributable and licensed as follows:
 *
 * Copyright 2006 Google Inc.
 * https://code.google.com/p/google-diff-match-patch/
 *
 * 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
 *
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * More Info:
 *  https://code.google.com/p/google-diff-match-patch/
 *
 * Usage: QUnit.diff(expected, actual)
 *
 /*\n * T ... \n *\n */  DIFF FUNCTIONS//  DIFF FUNCTIONS
	 * The data structure representing a diff is an array of tuples:
	 * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]
	 * which means: delete 'Hello', add 'Goodbye' and keep ' world.'
	 /**\n\t * ... .'\n\t */
	 * Find the differences between two texts.  Simplifies the problem by stripping
	 * any common prefix or suffix off the texts before diffing.
	 * @param {string} text1 Old string to be diffed.
	 * @param {string} text2 New string to be diffed.
	 * @param {boolean=} optChecklines Optional speedup flag. If present and false,
	 *     then don't run a line-level diff first to identify the changed areas.
	 *     Defaults to true, which does a faster, slightly less optimal diff.
	 * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
	 /**\n\t * ... s.\n\t */ The diff must be complete in up to 1 second.// The  ... second. Check for null inputs.// Chec ... inputs. Check for equality (speedup).// Chec ... eedup). Trim off common prefix (speedup).// Trim ... eedup). Trim off common suffix (speedup). Compute the diff on the middle block.// Comp ...  block. Restore the prefix and suffix.// Rest ... suffix.
	 * Reduce the number of edits by eliminating operationally trivial equalities.
	 * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
	  Stack of indices where equalities are found.// Stac ...  found. Keeping our own length var is faster in JS.// Keep ...  in JS. Always equal to diffs[equalities[equalitiesLength - 1]][1]// Alwa ...  1]][1] Index of current position.// Inde ... sition. Is there an insertion operation before the last equality.// Is t ... uality. Is there a deletion operation before the last equality. Is there an insertion operation after the last equality. Is there a deletion operation after the last equality. Equality found.// Equality found. Candidate found.// Candidate found. Not a candidate, and can never become one.// Not  ... me one. An insertion or deletion.// An i ... letion.
				 * Five types to be split:
				 * <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
				 * <ins>A</ins>X<ins>C</ins><del>D</del>
				 * <ins>A</ins><del>B</del>X<ins>C</ins>
				 * <ins>A</del>X<ins>C</ins><del>D</del>
				 * <ins>A</ins><del>B</del>X<del>C</del>
				 /*\n\t\t\t\t ... \t\t\t\t */ Duplicate record.// Duplicate record. Change second copy to insert.// Chan ... insert. Throw away the equality we just deleted;// Thro ... eleted; No changes made which could affect previous entry, keep going.// No c ...  going. Throw away the previous equality.// Thro ... uality.
	 * Convert a diff array into a pretty HTML report.
	 * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
	 * @param {integer} string to be beautified.
	 * @return {string} HTML representation.
	 /**\n\t * ... n.\n\t */ Operation (insert, delete, equal)// Oper ...  equal) Text of change.// Text of change.
	 * Determine the common prefix of two strings.
	 * @param {string} text1 First string.
	 * @param {string} text2 Second string.
	 * @return {number} The number of characters common to the start of each
	 *     string.
	 /**\n\t * ... g.\n\t */ Quick check for common null cases.// Quic ...  cases. Binary search.// Binary search. Performance analysis: https://neil.fraser.name/news/2007/10/09/// Perf ... /10/09/
	 * Determine the common suffix of two strings.
	 * @param {string} text1 First string.
	 * @param {string} text2 Second string.
	 * @return {number} The number of characters common to the end of each string.
	 
	 * Find the differences between two texts.  Assumes that the texts do not
	 * have any common prefix or suffix.
	 * @param {string} text1 Old string to be diffed.
	 * @param {string} text2 New string to be diffed.
	 * @param {boolean} checklines Speedup flag.  If false, then don't run a
	 *     line-level diff first to identify the changed areas.
	 *     If true, then run a faster, slightly less optimal diff.
	 * @param {number} deadline Time when the diff should be complete by.
	 * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
	 * @private
	 /**\n\t * ... te\n\t */ Just add some text (speedup).// Just ... eedup). Just delete some text (speedup). Shorter text is inside the longer text (speedup).// Shor ... eedup). Swap insertions for deletions if diff is reversed.// Swap ... versed. Single character string.// Sing ... string. After the previous speedup, the character can't be an equality.// Afte ... uality. Check to see if the problem can be split in two.// Chec ... in two. A half-match was found, sort out the return data.// A ha ... n data. Send both pairs off for separate processing.// Send ... essing. Merge the results.// Merg ... esults.
	 * Do the two texts share a substring which is at least half the length of the
	 * longer text?
	 * This speedup can produce non-minimal diffs.
	 * @param {string} text1 First string.
	 * @param {string} text2 Second string.
	 * @return {Array.<string>} Five element Array, containing the prefix of
	 *     text1, the suffix of text1, the prefix of text2, the suffix of
	 *     text2 and the common middle.  Or null if there was no match.
	 * @private
	  Pointless.// Pointless. 'this' becomes 'window' in a closure.// 'thi ... losure.
		 * Does a substring of shorttext exist within longtext such that the substring
		 * is at least half the length of longtext?
		 * Closure, but does not reference any external variables.
		 * @param {string} longtext Longer string.
		 * @param {string} shorttext Shorter string.
		 * @param {number} i Start index of quarter length substring within longtext.
		 * @return {Array.<string>} Five element Array, containing the prefix of
		 *     longtext, the suffix of longtext, the prefix of shorttext, the suffix
		 *     of shorttext and the common middle.  Or null if there was no match.
		 * @private
		 /**\n\t\t  ... e\n\t\t */ Start with a 1/4 length substring at position i as a seed.// Star ... a seed. First check if the second quarter is the seed for a half-match.// Firs ... -match. Check again based on the third quarter.// Chec ... uarter. Both matched.  Select the longest.// Both ... ongest.
	 * Do a quick line-level diff on both strings, then rediff the parts for
	 * greater accuracy.
	 * This speedup can produce non-minimal diffs.
	 * @param {string} text1 Old string to be diffed.
	 * @param {string} text2 New string to be diffed.
	 * @param {number} deadline Time when the diff should be complete by.
	 * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
	 * @private
	  Scan the text on a line-by-line basis first.// Scan ...  first. Convert the diff back to original text.// Conv ... l text. Eliminate freak matches (e.g. blank lines)// Elim ...  lines) Rediff any replacement blocks, this time character-by-character.// Redi ... racter. Add a dummy entry at the end.// Add  ... he end. Upon reaching an equality, check for prior redundancies.// Upon ... ancies. Delete the offending records and add the merged ones.// Dele ... d ones. Remove the dummy entry at the end.// Remo ... he end.
	 * Find the 'middle snake' of a diff, split the problem in two
	 * and return the recursively constructed diff.
	 * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.
	 * @param {string} text1 Old string to be diffed.
	 * @param {string} text2 New string to be diffed.
	 * @param {number} deadline Time at which to bail if not yet complete.
	 * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
	 * @private
	  Cache the text lengths to prevent multiple calls.// Cach ...  calls. Setting all elements to -1 is faster in Chrome & Firefox than mixing// Sett ...  mixing integers and undefined.// inte ... efined. If the total number of characters is odd, then the front path will collide// If t ... collide with the reverse path.// with ... e path. Offsets for start and end of k loop.// Offs ... k loop. Prevents mapping of space beyond the grid.// Prev ... e grid. Bail out if deadline is reached.// Bail ... eached. Walk the front path one step.// Walk ... e step. Ran off the right of the graph.// Ran  ...  graph. Ran off the bottom of the graph. Mirror x2 onto top-left coordinate system.// Mirr ... system. Overlap detected.// Overlap detected. Walk the reverse path one step. Ran off the left of the graph. Ran off the top of the graph. Diff took too long and hit the deadline or// Diff ... line or number of diffs equals number of characters, no commonality at all.// numb ... at all.
	 * Given the location of the 'middle snake', split the diff in two parts
	 * and recurse.
	 * @param {string} text1 Old string to be diffed.
	 * @param {string} text2 New string to be diffed.
	 * @param {number} x Index of split point in text1.
	 * @param {number} y Index of split point in text2.
	 * @param {number} deadline Time at which to bail if not yet complete.
	 * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
	 * @private
	  Compute both diffs serially.// Comp ... rially.
	 * Reduce the number of edits by eliminating semantically trivial equalities.
	 * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
	  Number of characters that changed prior to the equality.// Numb ... uality. Number of characters that changed after the equality. Eliminate an equality that is smaller or equal to the edits on both// Elim ... on both sides of it.// sides of it. Throw away the equality we just deleted.// Thro ... eleted. Throw away the previous equality (it needs to be reevaluated).// Thro ... uated). Reset the counters.// Rese ... unters. Normalize the diff.// Norm ... e diff. Find any overlaps between deletions and insertions.// Find ... rtions. e.g: <del>abcxxx</del><ins>xxxdef</ins>// e.g: ... f</ins>   -> <del>abc</del>xxx<ins>def</ins>//   -> ... f</ins> e.g: <del>xxxabc</del><ins>defxxx</ins>// e.g: ... x</ins>   -> <ins>def</ins>xxx<del>abc</del>//   -> ... c</del> Only extract an overlap if it is as big as the edit ahead or behind it.// Only ... ind it. Overlap found.  Insert an equality and trim the surrounding edits.// Over ...  edits. Reverse overlap found.// Reve ...  found. Insert an equality and swap and trim the surrounding edits.// Inse ...  edits.
	 * Determine if the suffix of one string is the prefix of another.
	 * @param {string} text1 First string.
	 * @param {string} text2 Second string.
	 * @return {number} The number of characters common to the end of the first
	 *     string and the start of the second string.
	 * @private
	  Eliminate the null case.// Elim ... l case. Truncate the longer string.// Trun ... string. Quick check for the worst case.// Quic ... t case. Start by looking for a single character match// Star ... r match and increase length until no match is found.// and  ...  found. Performance analysis: https://neil.fraser.name/news/2010/11/04/// Perf ... /11/04/
	 * Split two texts into an array of strings.  Reduce the texts to a string of
	 * hashes where each Unicode character represents one line.
	 * @param {string} text1 First string.
	 * @param {string} text2 Second string.
	 * @return {{chars1: string, chars2: string, lineArray: !Array.<string>}}
	 *     An object containing the encoded text1, the encoded text2 and
	 *     the array of unique strings.
	 *     The zeroth element of the array of unique strings is intentionally blank.
	 * @private
	  e.g. lineArray[4] === 'Hello\n'// e.g. ... ello\n' e.g. lineHash['Hello\n'] === 4// e.g. ... ] === 4 '\x00' is a valid character, but various debuggers don't like it.// '\x0 ... ike it. So we'll insert a junk entry to avoid generating a null character.// So w ... racter.
		 * Split a text into an array of strings.  Reduce the texts to a string of
		 * hashes where each Unicode character represents one line.
		 * Modifies linearray and linehash through being a closure.
		 * @param {string} text String to encode.
		 * @return {string} Encoded string.
		 * @private
		  Walk the text, pulling out a substring for each line.// Walk ... h line. text.split('\n') would would temporarily double our memory footprint.// text ... tprint. Modifying text would create many large strings to garbage collect.// Modi ... ollect. Keeping our own length variable is faster than looking it up.// Keep ...  it up.
	 * Rehydrate the text in a diff from a string of line hashes to real lines of
	 * text.
	 * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
	 * @param {!Array.<string>} lineArray Array of unique strings.
	 * @private
	 
	 * Reorder and merge like edit sections.  Merge equalities.
	 * Any edit section can move as long as it doesn't cross an equality.
	 * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
	  Factor out any common prefixes.// Fact ... efixes. Factor out any common suffixies.// Fact ... fixies. Merge this equality with the previous one.// Merg ... us one. Second pass: look for single edits surrounded on both sides by equalities// Seco ... alities which can be shifted sideways to eliminate an equality.// whic ... uality. e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC// e.g: ... /ins>AC Intentionally ignore the first and last element (don't need checking).// Inte ... cking). This is a single edit surrounded by equalities.// This ... lities. Shift the edit over the previous equality.// Shif ... uality. Shift the edit over the next equality. If shifts were made, the diff needs reordering and another shift sweep.// If s ...  sweep. Get a reference to the global object, like window in browsers// Get  ... rowsers Don't load the HTML Reporter on non-Browser environments// Don' ... onments Deprecated QUnit.init - Ref #530// Depr ... ef #530 Re-initialize the configuration options// Re-i ... options
* Escape text for attribute or text content.
/**\n* E ... ent.\n*/ Both single quotes and double quotes (for attributes)// Both ... ibutes)
 * @param {HTMLElement} elem
 * @param {string} type
 * @param {Function} fn
 /**\n *  ...  fn\n */ Standards-based browsers// Stan ... rowsers support: IE <9// support: IE <9
 * @param {Array|NodeList} elems
 * @param {string} type
 * @param {Function} fn
  Class name may appear multiple times// Clas ... e times trim for prettiness// trim ... ttiness Handle "click" events on toolbar checkboxes and "change" for select menus.// Hand ...  menus. Updates the URL with the new state of `config.urlConfig` values.// Upda ... values. Detect if field is a select menu or a checkbox// Dete ... heckbox It is not necessary to refresh the whole page// It i ... le page Remove testId filter// Remo ...  filter For oldIE support:// For  ... upport: * Add handlers to the individual elements instead of the container// * Ad ... ntainer * Use "click" instead of "change" for checkboxes// * Us ... ckboxes HTML Reporter initialization and load// HTML ... nd load Fixture is the only one necessary to run without the #qunit element// Fixt ... element show ✖ for good, ✔ for bad suite result in title// show ... n title use escape sequences in case file gets loaded with non-utf-8-charset// use  ... charset clear own sessionStorage items if all tests passed// clea ...  passed scroll back to top to show results// scro ... results Report later registered tests// Repo ... d tests strip tags, html entity and whitespaces// stri ... espaces pushFailure doesn't provide details.expected// push ... xpected when it calls, it's implicit to also not show expected and diff stuff// when ... f stuff Also, we need to check details.expected existence, as it can exist and be undefined// Also ... defined Don't show diff if actual or expected are booleans// Don' ... ooleans Don't show diff if expected and actual are totally different// Don' ... fferent this occurs when pushFailure is set and we have an extracted stack trace// this ... k trace store result when possible// stor ... ossible Collapse the passing tests// Coll ... g tests Skip collapsing the first failing test// Skip ... ng test Collapse remaining tests testItem.firstChild is the test name// test ... st name Show the source of the test when showing assertions// Show ... ertions Avoid readyState issue with phantomjs// Avoi ... antomjs Ref: #818// Ref: #818defined"qunit-test-string"sourceFromStacktrace/(:\d+)+\)?//.+\//globalStartCalledrunStartedhasOwnobjectValuesvals"array"undefOnly"constructor"objectType"null""Number""nan""String""Boolean""Array""Set""Map""Date""RegExp""Function""Symbol"getUrlParamsurlParams"&""="extractStacktrace/^error$/i/qunit.js$/blockingaltertitlescrolltopurlConfig"hidepassed""Hide passed tests""Only show tests and assertions that fail. Stored as query-strings.""noglobals""Check for Globals""Enabling this will test if any test introduces new properties on the ""global object (`window` in Browsers). Stored as query-strings.""notrycatch""No try-catch""Enabling this will run tests outside of a try-catch block. Makes debugging ""exceptions in IE reasonable. Stored as query-strings."moduleStackcurrentModuletestIdloggingCallbacksregisterLoggingCallbackscallbackNames"begin""done""log""testStart""testDone""moduleStart""moduleDone"registerLoggingCallbackloggingCallback"QUnit logging methods require a callback function as their first parameters."runLoggingCallbacksverifyLoggingCallbacksuserCallback"QUnit."" was replaced with a new value.\n""Please, check out the documentation on how to apply logging callbacks.\n""Reference: https://api.qunitjs.com/category/callbacks/"onErrorFnPrevlinerNrignoreGlobalErrorspushFailure"global failure"validTest"file:""1.22.0"testEnvironmentexecuteNowmoduleFnscreateModulesetHook"beforeEach""afterEach"setCurrentModuleparentModulemoduleName" > "skipglobalStartAlreadyCalled"Called start() outside of a test context while already started""Called start() outside of a test context too many times"autostart"Called start() outside of a test context when ""QUnit.config.autostart was true"pageLoadedsemaphore"Called start() with a non-numeric decrement.""Called start() while already started (test's semaphore was 0 already)"resumeProcessing"Called stop() outside of a test context"pauseProcessingmoduleStatsstartedupdateRatemodulesLogtotalTestsusedAsynctestTimeout"Test timed out"previousModulehookNamepriorityCountassertionstestNamegenerateHashAssert"previousModule"pollutionsaveGlobalcallbackStartednotrycatchrunTest"Died on test #"resolvePromisecheckPollutionqueueHookhookrunHookcallHook" failed on "hooksprocessHooks"Expected number of assertions to be defined, but expect() was ""not called.""Expected "" assertions, but "" were run""Expected at least one assertion, but none were run - call ""expect(0) to accept zero assertions."skippedsynchronize"qunit-test-"pushResultresultInfonegative"pushFailure() assertion outside test context, was ""error"phase"Promise rejected ""during"/Each$/regexFilter/^(!?)\/([\w\W]*)\/(i?$)/fullNametestInModuleChaintestModuletestModuleNamestringFilterexclude"!"fixture"qunit-fixture""pushFailure() assertion outside test context, in "currentTest"\x1C"0x100000000"0000000"noglobals/^qunit-test-output/newGlobalsdeletedGlobals"Introduced global variable(s): ""Deleted global variable(s): "newTesttestContextassertspoppedacceptCallCount"Too many calls to the `assert.async` callback"currentAssert"assertion outside test context, in ""Assertion after the final `assert.async` was resolved""okay""failed, expected argument to be truthy, was: "notOk"failed, expected argument to be falsy, was: "equiv"throws"expectedTypeexpectedOutput"regexp"errorStringraisesresultErrorString"[object""Error"callersparentsBgetProtouseStrictEqualitycompareConstructorsprotoAprotoBgetRegExpFlags"flags"/[gimuy]*$/"boolean""symbol""date"aCircularbCircularinnerEquiv"set"bArray"map"aPropertiesbPropertiestypeEquiv"\\\\"/"/g"\\\""literal"[object Array]""[""]"reName/^function (\w+)/objTypeparserTypeinStack"recursion("parsers"window""document""node"HTML"<br />""&#160;"extrachrindentChar/\t/g"   "/ /gsetParser"[Window]""[Document]""Error(\"""\")"unknown"[Unknown]""name""( ""functionArgs""){""functionCode"nodelist"arguments"nonEnumerableProperties"[object Object]""message""key""&lt;""<""&gt;"attrs"inherit""attribute"functionArgsfunctionCode"[code]""  "jsDumpapplyCurrent"test""module""expect""asyncTest""stop""ok""notOk""equal""notEqual""propEqual""notPropEqual""deepEqual""notDeepEqual""strictEqual""notStrictEqual""raises"DiffMatchPatchDIFF_DELETEDIFF_INSERTDIFF_EQUALDiffMaintext1text2optChecklinesdeadlinechecklinescommonlengthcommonprefixcommonsuffixdiffs"Null input. (DiffMain)"diffCommonPrefixdiffCommonSuffixdiffComputediffCleanupMergediffCleanupEfficiencychangesequalitiesequalitiesLengthlastequalitypreInspreDelpostInspostDeldiffPrettyHtml"<ins>""</ins>""<del>""</del>""<span>""</span>"pointermidpointermaxpointerminpointerstartpointerendlongtextshorttexthmtext1Atext2Atext1Btext2BmidCommondiffsAdiffsBdiffHalfMatchdiffLineModediffBisectdmphm1hm2diffHalfMatchIseedbestCommonprefixLengthsuffixLengthbestLongtextAbestLongtextBbestShorttextAbestShorttextBlinearraycountInsertcountDeletetextInserttextDeletediffLinesToCharschars1chars2lineArraydiffCharsToLinesdiffCleanupSemantictext1Lengthtext2LengthmaxDvOffsetvLengthv1v2frontk1startk1endk2startk2endk2Offsetk1Offsetk1k2diffBisectSplittext1atext1btext2atext2bdiffsblengthInsertions2lengthDeletions2lengthInsertions1lengthDeletions1deletioninsertionoverlapLength1overlapLength2diffCommonOverlaptextLengthbestfoundlineHashdiffLinesToCharsMungelineStartlineEndlineArrayLengthdiffPointer"qunit""<h1 id='qunit-header'>"escapeText"</h1>""<h2 id='qunit-banner'></h2>""<div id='qunit-testrunner-toolbar'></div>""<h2 id='qunit-userAgent'></h2>""<ol id='qunit-tests'></ol>""qunit-tests""qunit-banner""qunit-testresult""result""Running...<br />&#160;"collapseNextmodulesList/['"<>&]/g"&#039;""&quot;""&amp;"addEventaddEventselemsgetUrlConfigHtmlescapedTooltipurlConfigHtml"<input id='qunit-urlconfig-""' name='""' type='checkbox'"" value='"" checked='checked'"" title='""' /><label for='qunit-urlconfig-""' title='""'>""</label>""<label for='qunit-urlconfig-"": </label><select id='qunit-urlconfig-""'><option></option>""<option value='"" selected='selected'""</option>""' selected='selected' disabled='disabled'>""</select>"toolbarChangedupdatedUrlfield"selectedIndex"setUrl"replaceState""hidepass""//"applyUrlParamsselectedModule"qunit-modulefilter""qunit-filter-input"toolbarUrlConfigContainerurlConfigContainer"span""qunit-url-config""input""select""change"toolbarLooseFilter"form""label""button""qunit-filter""Filter: ""text""filter""Go""submit"evtoolbarModuleFilterHtmlmoduleFilterHtml"<label for='qunit-modulefilter'>Module: </label>""<select id='qunit-modulefilter' name='modulefilter'><option value='' ""selected='selected'"">< All Modules ></option>""' "toolbarModuleFilter"qunit-testrunner-toolbar"moduleFilter"id""qunit-modulefilter-container"appendToolbarappendHeader"qunit-header""<a href='""</a> "appendBannerappendTestResultsstoreFixtureappendFilteredTest"<div id='qunit-filteredTest'>Rerunning selected tests: "" <a id='qunit-clearFilter' href='""Run all tests""</a></div>"appendUserAgent"qunit-userAgent""QUnit ""; "appendTestsListmoduleObjappendTestrerunTriggertestBlockassertList"strong"getNameHtml"Rerun""li""qunit-test-output-""ol""qunit-assert-list""Tests completed in "" milliseconds.<br />""<span class='passed'>""</span> assertions of <span class='total'>""</span> passed, <span class='failed'>""</span> failed.""qunit-fail""qunit-pass""\u2716""\u2714"/^[\u2714\u2716] /inameHtml"<span class='module-name'>""</span>: ""<span class='test-name'>"running"running""Rerunning previously failed test: <br />""Running: <br />"stripHtml/<\/?[^>]+(>|$)/g/\&quot;/gassertLishowDifftestItem"failed""<span class='test-message'>""<span class='runtime'>@ "" ms</span>""expected""NOT ""<table><tr class='test-expected'><th>Expected: </th><td><pre>""</pre></td></tr>""<tr class='test-actual'><th>Result: </th><td><pre>"/^(true|false)$/"<tr class='test-diff'><th>Diff: </th><td><pre>""<tr class='test-message'><th>Message: </th><td>""Diff suppressed as the depth of object is more than current max depth ("").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to "" run with a higher max depth or <a href='""Rerun</a> without max depth.</p></td></tr>""<tr class='test-source'><th>Source: </th><td><pre>""</table>""<table>""pass""fail"testTitlegoodtestCountssourceName"qunit-collapsed""<b class='failed'>""</b>, ""<b class='passed'>"" <b class='counts'>("")</b>""skipped""em""qunit-skipped-label""runtime"" ms""<strong>Source: </strong>""qunit-source"notPhantom"complete""load"Makes a clone of an object using only Array or Object as base,
and copies over the own enumerable properties.New object with only the own properties (recursively).Config object: Maintain internal state
Later exposed as QUnit.config
`config` initialized at top of scopeThe data structure representing a diff is an array of tuples:
[[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]
which means: delete 'Hello', add 'Goodbye' and keep ' world.'Find the differences between two texts.  Simplifies the problem by stripping
any common prefix or suffix off the texts before diffing.Old string to be diffed.
New string to be diffed.
Optional speedup flag. If present and false,
then don't run a line-level diff first to identify the changed areas.
Defaults to true, which does a faster, slightly less optimal diff.
Array of diff tuples.!Array.<!DiffMatchPatch.Diff>Array.<!DiffMatchPatch.Diff>!DiffMatchPatch.DiffDiffMatchPatch.DiffReduce the number of edits by eliminating operationally trivial equalities.Convert a diff array into a pretty HTML report.Array of diff tuples.
to be beautified.
integerHTML representation.Determine the common prefix of two strings.First string.
Second string.
The number of characters common to the start of each
string.Determine the common suffix of two strings.The number of characters common to the end of each string.Find the differences between two texts.  Assumes that the texts do not
have any common prefix or suffix.Speedup flag.  If false, then don't run a
line-level diff first to identify the changed areas.
If true, then run a faster, slightly less optimal diff.
Time when the diff should be complete by.
Do the two texts share a substring which is at least half the length of the
longer text?
This speedup can produce non-minimal diffs.Five element Array, containing the prefix of
text1, the suffix of text1, the prefix of text2, the suffix of
text2 and the common middle.  Or null if there was no match.
Does a substring of shorttext exist within longtext such that the substring
is at least half the length of longtext?
Closure, but does not reference any external variables.Longer string.
Shorter string.
Start index of quarter length substring within longtext.
Five element Array, containing the prefix of
longtext, the suffix of longtext, the prefix of shorttext, the suffix
of shorttext and the common middle.  Or null if there was no match.
Do a quick line-level diff on both strings, then rediff the parts for
greater accuracy.
This speedup can produce non-minimal diffs.Find the 'middle snake' of a diff, split the problem in two
and return the recursively constructed diff.
See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.Time at which to bail if not yet complete.
Given the location of the 'middle snake', split the diff in two parts
and recurse.Index of split point in text1.
Index of split point in text2.
Reduce the number of edits by eliminating semantically trivial equalities.Determine if the suffix of one string is the prefix of another.The number of characters common to the end of the first
string and the start of the second string.
Split two texts into an array of strings.  Reduce the texts to a string of
hashes where each Unicode character represents one line.An object containing the encoded text1, the encoded text2 and
the array of unique strings.
The zeroth element of the array of unique strings is intentionally blank.
{chars1: string, chars2: string, lineArray: !Array.<string>}Split a text into an array of strings.  Reduce the texts to a string of
hashes where each Unicode character represents one line.
Modifies linearray and linehash through being a closure.String to encode.
Encoded string.
Rehydrate the text in a diff from a string of line hashes to real lines of
text.Array of unique strings.
Reorder and merge like edit sections.  Merge equalities.
Any edit section can move as long as it doesn't cross an equality.Escape text for attribute or text content.(Array|NodeList)(functi ... )() ));(functi ... })() ))functio ... \n})() )functio ... wsers\n}{\n\nvar  ... wsers\n}var QUnit = {};QUnit = {}var Dat ... l.Date;Date = global.Dateglobal.Datevar now ... e();\n};now = D ... me();\n}Date.no ... me();\n}functio ... me();\n}{\n\tretu ... me();\n}return  ... Time();new Date().getTime()new Date().getTimevar set ... imeout;setTime ... Timeoutglobal.setTimeoutvar cle ... imeout;clearTi ... Timeoutglobal.clearTimeoutvar win ... window;window  ... .windowglobal.windowvar def ... () )\n};defined ... }() )\n}{\n\tdocu ... }() )\n}documen ... definedwindow  ... definedwindow. ... definedwindow.documentsetTime ... definedsession ... \n\t}() )(functi ... \n\t}() )functio ... \t}\n\t}()functio ... \n\t\t}\n\t}{\n\t\tvar ... \n\t\t}\n\t}var x = ... tring";x = "qu ... string"qunit-test-stringtry {\n\t ... se;\n\t\t}{\n\t\t\tse ... ue;\n\t\t}session ... x, x );session ...  x, x )session ... setItemsession ... m( x );session ... em( x )session ... oveItemcatch ( ... se;\n\t\t}{\n\t\t\tre ... se;\n\t\t}var fil ... , "" );fileNam ... /, "" )( sourc ... /, "" )( sourc ... replace( sourc ... || "" )sourceF ... ) || ""sourceF ... ce( 0 )(:\d+)+\)?(:\d+)+(:\d+):\d+\)?.+\/var glo ...  false;globalS ... = falsevar run ...  false;runStarted = falsevar toS ... operty;toStrin ... oStringhasOwn  ... roperty{\n\tvar  ... sult;\n}var i,  ... lice();result = a.slice()a.slice()a.slicefor ( i ... \n\t\t}\n\t}i < result.lengthresult.length{\n\t\tfor ... \n\t\t}\n\t}for ( j ... \t\t}\n\t\t}j < b.lengthif ( re ... k;\n\t\t\t}result[ ...  b[ j ]result[ i ]b[ j ]{\n\t\t\t\tr ... k;\n\t\t\t}result. ... i, 1 );result. ...  i, 1 )result.splicei--;functio ... n -1;\n}{\n\tif ( ... n -1;\n}if ( ar ... m );\n\t}array.indexOf{\n\t\tret ... m );\n\t}return  ... elem );array.i ...  elem )for ( v ... \n\t\t}\n\t}{\n\t\tif  ... \n\t\t}\n\t}if ( ar ...  i;\n\t\t}array[ i ] === elemarray[ i ]{\n\t\t\treturn i;\n\t\t}functio ... vals;\n}{\n\tvar  ... vals;\n}var key ... ] : {};vals =  ... [] : {}QUnit.i ... [] : {}QUnit.i ... , obj )QUnit.isfor ( k ... \n\t\t}\n\t}if ( ha ... al;\n\t\t}hasOwn. ... , key )hasOwn.call{\n\t\t\tva ... al;\n\t\t}val = obj[ key ];val = obj[ key ]obj[ key ]vals[ k ...  : val;vals[ k ... ) : valvals[ key ]val === ... ) : valval === ... ( val )Object( val )objectValues( val )return vals;functio ... rn a;\n}{\n\tfor  ... rn a;\n}var propif ( ha ... \t\t}\n\t\t}hasOwn. ...  prop ){\n\n\t\t\t/ ... \t\t}\n\t\t}if ( pr ... \t}\n\t\t\t}prop != ...  globalprop != ... ructor"a !== globalif ( b[ ... ;\n\t\t\t\t}b[ prop ... definedb[ prop ]delete a[ prop ];delete a[ prop ]a[ prop ]if ( !( ... ;\n\t\t\t\t}!( unde ... ined" )( undef ... ined" )undefOn ... efined"typeof a[ prop ]a[ prop ... prop ];a[ prop ...  prop ]return a;functio ... ";\n\t}\n}{\n\tif ( ... ";\n\t}\n}if ( ty ... ed";\n\t}{\n\t\tret ... ed";\n\t}return "undefined";if ( ob ... ll";\n\t}obj === null{\n\t\tret ... ll";\n\t}return "null";var mat ... h[ 1 ];match = ... )\]$/ )toStrin ... )\]$/ )toStrin ... ).matchtoString.call( obj )toString.calltype =  ... ch[ 1 ]match && match[ 1 ]match[ 1 ]switch  ... e();\n\t}case "N ... umber";if ( is ... ";\n\t\t\t}isNaN( obj ){\n\t\t\t\tr ... ";\n\t\t\t}return "nan";nanreturn "number";case "String":case "Boolean":case "Array":case "Set":case "Map":case "Date":case "RegExp":case "Function":case "S ... Case();return  ... Case();type.toLowerCase()type.toLowerCaseif ( ty ... ct";\n\t}{\n\t\tret ... ct";\n\t}return "object";functio ... type;\n}{\n\tretu ... type;\n}return  ... = type;QUnit.o ... == typeQUnit.o ... ( obj )QUnit.objectTypevar get ... ams;\n};getUrlP ... rams;\n}functio ... rams;\n}{\n\tvar  ... rams;\n}var i,  ...  value;var urlParams = {};urlParams = {}var loc ... cation;locatio ... ocationvar par ...  "&" );params  ... ( "&" )locatio ... ( "&" )locatio ... ).splitlocatio ... ce( 1 )locatio ... h.sliceif ( pa ... \t\t}\n\t\t}params[ i ]{\n\t\t\tpa ... \t\t}\n\t\t}param = ...  "=" );param = ... ( "=" )params[ ... ( "=" )params[ i ].splitname =  ...  0 ] );name =  ... [ 0 ] )decodeU ... [ 0 ] )param[ 0 ]value = ... " ) ) ;value = ... "=" ) )param.l ... "=" ) )param.length === 1decodeU ... "=" ) )param.s ... ( "=" )param.s ...  ).joinparam.slice( 1 )param.sliceif ( ur ... e;\n\t\t\t}urlParams[ name ]{\n\t\t\t\tu ... );\n\t\t\t}urlPara ... alue );urlPara ... value )[].conc ... value ){\n\t\t\t\tu ... e;\n\t\t\t}urlPara ...  value;urlPara ... = valuereturn urlParams;functio ... e;\n\t}\n}{\n\toffs ... e;\n\t}\n}offset  ... offset;offset  ...  offsetoffset === undefinedvar sta ... ude, i;if ( e. ... ine;\n\t}e.stack{\n\t\tsta ... only\n\t}stack = ... "\n" );stack = ...  "\n" )e.stack ...  "\n" )e.stack.splitif ( /^ ... ();\n\t\t}/^error ... [ 0 ] )/^error$/i.test^error$stack[ 0 ]{\n\t\t\tst ... ();\n\t\t}stack.shift();stack.shift()stack.shiftif ( fi ... \t\t}\n\t\t}{\n\t\t\tin ... \t\t}\n\t\t}include = [];include = []for ( i ... );\n\t\t\t}i < stack.lengthstack.lengthi = offsetif ( st ... ;\n\t\t\t\t}stack[  ...  !== -1stack[  ... eName )stack[ i ].indexOfstack[ i ]{\n\t\t\t\t\tbreak;\n\t\t\t\t}include ...  i ] );include ... [ i ] )include.pushif ( in ... );\n\t\t\t}include.lengthreturn  ... "\n" );include.join( "\n" )include.joinreturn  ... fset ];stack[ offset ]e.sourceURL{\n\n\t\t// ... ine;\n\t}if ( /q ... rn;\n\t\t}/qunit. ... ceURL )/qunit.js$/.testqunit.js${\n\t\t\treturn;\n\t\t}return  ... e.line;e.sourc ...  e.linee.sourceURL + ":"e.linefunctio ... et );\n}{\n\tvar  ... et );\n}var err ... rror();error = new Error()new Error()if ( !e ... \n\t\t}\n\t}!error.stackerror.stack{\n\t\ttry ... \n\t\t}\n\t}try {\n\t ... rr;\n\t\t}{\n\t\t\tth ... or;\n\t\t}throw error;catch ( ... rr;\n\t\t}{\n\t\t\ter ... rr;\n\t\t}error = err;error = errreturn  ... fset );extract ... ffset )var con ... : {}\n};config  ... s: {}\n}{\n\t// T ... s: {}\n}queue: []blocking: truereorder: truealtertitle: truecollapse: truescrolltop: truemaxDepth: 5require ... : falseurlConf ... \n\t\t}\n\t][\n\t\t{\n\t ... \n\t\t}\n\t]{\n\t\t\tid ... s."\n\t\t}id: "hidepassed"label:  ...  tests"Hide passed teststooltip ... rings.""Only s ... rings."Only show tests and assertions that fail. Stored as query-strings.Only show tests and assertions that fail Stored as query-stringsid: "noglobals"label:  ... lobals"Check for Globals"Enabli ... rings.""Enabli ... n the "Enabling this will test if any test introduces new properties on the "global ... rings."global object (`window` in Browsers). Stored as query-strings.global object (`window` in Browsers)`window` in Browsersid: "notrycatch"label:  ... -catch"No try-catch"Enabli ... gging "Enabling this will run tests outside of a try-catch block. Makes debugging Enabling this will run tests outside of a try-catch block Makes debugging "except ... rings."exceptions in IE reasonable. Stored as query-strings.exceptions in IE reasonablemodules: []moduleStack: []current ... : []\n\t}{\n\t\tnam ... : []\n\t}name: ""tests: []callbacks: {}var url ... ) : {};urlPara ... () : {}defined ... () : {}defined.documentgetUrlParams()config. ... dule );config. ... odule )config.modules.pushconfig.modulesconfig.currentModuleif ( ur ... lter;\n}urlPara ... == trueurlParams.filter{\n\tdele ... lter;\n}delete  ... filter;delete  ... .filterconfig. ... filter;config. ... .filterconfig.filterconfig.testId = [];config.testId = []config.testIdif ( ur ... );\n\t}\n}urlParams.testId{\n\t// E ... );\n\t}\n}urlPara ...  "," );urlPara ... ( "," )decodeU ... ( "," )decodeU ... ).splitdecodeU ... estId )for (va ... ] );\n\t}i < url ... .lengthurlPara ... .length{\n\t\tcon ... ] );\n\t}config. ...  i ] );config. ... [ i ] )config.testId.pushurlPara ... Id[ i ]var log ... s = {};logging ... ks = {}functio ... );\n\t}\n}registe ... llbacks{\n\tvar  ... );\n\t}\n}var i,  ... one" ];callbac ... Done" ][ "begi ... Done" ]functio ... ack;\n\t}registe ... allback{\n\t\tvar ... ack;\n\t}var log ... );\n\t\t};logging ...  );\n\t\t}functio ...  );\n\t\t}{\n\t\t\tif ...  );\n\t\t}if ( ob ... );\n\t\t\t}objectT ... nction"objectT ... lback ){\n\t\t\t\tt ... );\n\t\t\t}throw n ... \n\t\t\t\t);new Err ... "\n\t\t\t\t)"QUnit  ... eters."QUnit logging methods require a callback function as their first parameters.QUnit logging methods require a callback function as their first parametersconfig. ... back );config. ... lback )config. ...  ].pushconfig. ... [ key ]config.callbackslogging ... llback;logging ... allbacklogging ... [ key ]return  ... llback;for ( i ... y );\n\t}l = cal ... .lengthcallbackNames.length{\n\t\tkey ... y );\n\t}key = c ... s[ i ];key = c ... es[ i ]callbackNames[ i ]if ( ob ... [];\n\t\t}objectT ... efined"objectT ... key ] ){\n\t\t\tco ... [];\n\t\t}config. ... ] = [];config. ...  ] = []obj[ ke ...  key );obj[ ke ... ( key )registe ... ( key )var i, l, callbacks;callbac ...  key ];callbac ... [ key ]for ( i ... s );\n\t}l = callbacks.lengthcallbacks.length{\n\t\tcal ... s );\n\t}callbac ... args );callbac ...  args )callbacks[ i ]functio ... \t}\n\t}\n}verifyL ... llbacks{\n\tvar  ... \t}\n\t}\n}var log ... llback;for ( l ... \n\t\t}\n\t}if ( QU ... \t\t}\n\t\t}QUnit[  ... lback ]logging ... lback ]{\n\n\t\t\tu ... \t\t}\n\t\t}userCal ... back ];userCal ... lback ]QUnit[  ... back ];QUnit[  ... back );QUnit[  ... lback )if ( gl ... );\n\t\t\t}global. ... le.warnglobal.consoleglobal.console.warn{\n\t\t\t\tg ... );\n\t\t\t}global. ... \n\t\t\t\t);global. ... "\n\t\t\t\t)"QUnit. ... backs/""QUnit. ... cks.\n""QUnit. ... lue.\n""QUnit. ... allbackQUnit." was r ... lue.\n" was replaced with a new value.
 was replaced with a new value"Please ... cks.\n"Please, check out the documentation on how to apply logging callbacks.
Please, check out the documentation on how to apply logging callbacks"Refere ... backs/"Reference: https://api.qunitjs.com/category/callbacks/Reference: https://apiqunitjscom/category/callbacks/( funct ... \n} )();( funct ... ;\n} )()( funct ... \t};\n} )functio ... ;\n\t};\n}{\n\tif ( ... ;\n\t};\n}if ( !d ... urn;\n\t}!defined.documentvar onE ... nerror;onError ... onerrorwindow.onerrorwindow. ... et;\n\t};window. ... ret;\n\t}functio ... ret;\n\t}{\n\t\tvar ... ret;\n\t}var ret = false;ret = falseif ( on ...  );\n\t\t}{\n\t\t\tre ...  );\n\t\t}ret = o ... erNr );ret = o ... nerNr )onError ... nerNr )if ( re ... se;\n\t\t}ret !== true{\n\t\t\tif ... se;\n\t\t}if ( QU ... );\n\t\t\t}QUnit.config.currentif ( QU ... ;\n\t\t\t\t}QUnit.c ... lErrorsQUnit.p ... erNr );QUnit.p ... nerNr )QUnit.pushFailurefilePat ... linerNrfilePath + ":"{\n\t\t\t\tQ ... );\n\t\t\t}QUnit.t ...  } ) );QUnit.t ... e } ) )global failureextend( ... rue } ){ validTest: true }validTest: trueQUnit.u ... Params;QUnit.u ... lParamsQUnit.urlParamsQUnit.i ... le:" );QUnit.i ... ile:" )QUnit.isLocal!( defi ... ile:" )( defin ... ile:" )defined ... "file:"window. ... "file:"QUnit.v ... .22.0";QUnit.v ... 1.22.0"QUnit.version1.22.0extend( ... \n\t}\n});extend( ... ;\n\t}\n}){\n\n\t//  ... );\n\t}\n}module: ... \t\t}\n\n\t}functio ... \t\t}\n\n\t}{\n\t\tvar ... \t\t}\n\n\t}var mod ... uleFns;var cur ... Module;current ... tModuleif ( ar ... \t\t}\n\t\t}argumen ... h === 2if ( te ... d;\n\t\t\t}testEnv ... unction{\n\t\t\t\te ... d;\n\t\t\t}execute ... onment;execute ... ronmenttestEnv ... efined;testEnv ... definedif ( te ... up;\n\t\t}testEnv ... t.setup{\n\t\t\tte ... up;\n\t\t}testEnv ... .setup;testEnv ... oreEachdelete  ... .setup;delete  ... t.setupif ( te ... wn;\n\t\t}testEnv ... eardown{\n\t\t\tte ... wn;\n\t\t}testEnv ... ardown;testEnv ... terEachdelete  ... ardown;delete  ... eardownmodule  ... dule();module  ... odule()createModule()moduleF ...  )\n\t\t};moduleF ... " )\n\t\t}{\n\t\t\tbe ... " )\n\t\t}beforeE ... Each" )setHook ... Each" )afterEa ... Each" )if ( ex ... le;\n\t\t}execute ... unction{\n\t\t\tco ... le;\n\t\t}config. ... ck.pushconfig.moduleStacksetCurr ... dule );setCurr ... odule )execute ... eFns );execute ... leFns )executeNow.callmodule. ... ronmentconfig. ... .pop();config. ... k.pop()config. ... ack.popmodule  ... Module;module  ... tModulemodule. ... tModulemodule.parentModulefunctio ... le;\n\t\t}{\n\t\t\tva ... le;\n\t\t}var par ... : null;parentM ...  : nullconfig. ...  : nullconfig. ... .lengthconfig. ...  )[ 0 ]config. ... e( -1 )config. ... k.slicevar mod ... : name;moduleN ...  : nameparentM ...  : nameparentM ... == null[ paren ... " > " )[ paren ...  ].join[ paren ...  name ]parentModule.name > var mod ... ]\n\t\t\t};module  ... []\n\t\t\t}{\n\t\t\t\tn ... []\n\t\t\t}name: moduleNameparentM ... tModulevar env = {};env = {}if ( pa ... h;\n\t\t\t}{\n\t\t\t\te ... h;\n\t\t\t}extend( ... ment );extend( ... nment )parentM ... ronmentdelete  ... reEach;delete  ... oreEachenv.beforeEachdelete  ... erEach;delete env.afterEachenv.afterEachmodule. ...  = env;module. ... t = envconfig. ... module;config. ...  moduleasyncTest: asyncTesttest: testskip: skiponly: onlystart:  ... g();\n\t}functio ... g();\n\t}{\n\t\tvar ... g();\n\t}var glo ... Called;globalS ... tCalledglobalS ... yCalledif ( !c ... \t\t}\n\t\t}!config.currentconfig.current{\n\t\t\tgl ... \t\t}\n\t\t}globalS ... = true;globalS ...  = trueif ( ru ... n;\n\t\t\t}throw n ... ted" );new Err ... rted" )"Called ... tarted"Called start() outside of a test context while already startedCalled start outside of a test context while already startedif ( gl ... n;\n\t\t\t}globalS ... unt > 1count > 1throw n ... mes" );new Err ... imes" )"Called ...  times"Called start() outside of a test context too many times outside of a test context too many timesif ( co ... n;\n\t\t\t}config.autostartthrow n ... rue" );new Err ... true" )"Called ... s true""Called ...  when "Called start() outside of a test context when  outside of a test context when "QUnit. ... s true"QUnit.config.autostart was trueautostart was trueif ( !c ... n;\n\t\t\t}!config.pageLoadedconfig.pageLoaded{\n\n\t\t\t\t ... n;\n\t\t\t}config. ... = true;config. ...  = trueconfig. ... t || 1;config. ... nt || 1config. ... maphorecount || 1if ( is ... n;\n\t\t\t}isNaN(  ... phore ){\n\t\t\t\tc ... n;\n\t\t\t}config. ... re = 0;config. ... ore = 0QUnit.p ... \n\t\t\t\t);QUnit.p ... )\n\t\t\t\t)"Called ... ement."Called start() with a non-numeric decrement. with a non-numeric decrementsourceF ... ce( 2 )config. ... ore > 0{\n\t\t\t\treturn;\n\t\t\t}config. ... ore < 0"Called ... ready)"Called start() while already started (test's semaphore was 0 already) while already started (test's semaphore was 0 already)test's semaphore was 0 alreadyresumeProcessing();resumeProcessing()stop: f ... g();\n\t}{\n\n\t\t// ... g();\n\t}if ( !c ...  );\n\t\t}{\n\t\t\tth ...  );\n\t\t}throw n ... ext" );new Err ... text" )"Called ... ontext"Called stop() outside of a test contextCalled stop outside of a test contextpauseProcessing();pauseProcessing()config: configis: isobjectT ... ectTypeextend: extendload: f ... \n\t\t}\n\t}{\n\t\tcon ... \n\t\t}\n\t}extend( ... true );extend( ...  true ){\n\t\t\tst ...  ""\n\t\t}stats:  ... ad: 0 }{ all: 0, bad: 0 }all: 0bad: 0moduleS ... ad: 0 }started: 0updateRate: 1000autostart: truefilter: ""config. ...  false;config. ... = falseconfig.blockingif ( co ... ();\n\t\t}{\n\t\t\tre ... ();\n\t\t}stack:  ... t );\n\t}functio ... t );\n\t}{\n\t\toff ... t );\n\t}offset  ...  ) + 2;offset  ... 0 ) + 2( offset || 0 ) + 2( offset || 0 )offset || 0sourceF ... ffset )registe ... Unit );registe ... QUnit )functio ... ue );\n}{\n\tvar  ... ue );\n}var i,  ... g = [];modulesLog = []if ( !c ... \t});\n\t}!config.startedconfig.started{\n\n\t\t// ... \t});\n\t}config. ...  now();config. ... = now()now()verifyL ... acks();verifyL ... backs()config. ... h === 0config. ...  === ""config. ...  ].nameconfig.modules[ 0 ]config. ... ].tests{\n\t\t\tco ... ();\n\t\t}config. ... hift();config. ... shift()config.modules.shiftfor ( i ... });\n\t\t}l = con ... .length{\n\t\t\tmo ... });\n\t\t}modules ... \n\t\t\t});modules ... s\n\t\t\t})modulesLog.push{\n\t\t\t\tn ... ts\n\t\t\t}name: c ...  ].nameconfig.modules[ i ]tests:  ... ].testsrunLogg ... g\n\t\t});runLogg ... og\n\t\t}){\n\t\t\tto ... Log\n\t\t}totalTe ... t.countTest.countmodules: modulesLogprocess( true );process( true ){\n\tfunc ... );\n\t}\n}{\n\t\tpro ... t );\n\t}process( last );process( last )var start = now();start = now()config. ...  ) + 1;config. ... 0 ) + 1config.depth( confi ... 0 ) + 1( confi ...  || 0 )config.depth || 0while ( ... \n\t\t}\n\t}config. ... lockingconfig.queue.lengthconfig.queue!config.blockingif ( !d ... ak;\n\t\t}!define ... eRate )!define ... te <= 0!defined.setTimeoutdefined.setTimeoutconfig. ... te <= 0config.updateRate( ( now ... eRate )( now() ... ateRate( now() - start )now() - start{\n\t\t\tif ... ();\n\t\t}if ( co ... e;\n\t\t\t}{\n\n\t\t\t\t ... e;\n\t\t\t}config. ... edAsyncconfig. ... ft()();config. ... ift()()config.queue.shift()config.queue.shift{\n\t\t\tse ... ak;\n\t\t}setTime ... , 13 );setTime ... t, 13 )config.depth--;config.depth--if ( la ... e();\n\t}last && ... h === 0last && ... .lengthlast && ... locking!config.queue.lengthconfig.depth === 0{\n\t\tdone();\n\t}done();{\n\tconf ... );\n\t}\n}if ( co ... t );\n\t}config. ... Timeoutconfig.testTimeout{\n\t\tcle ... t );\n\t}clearTi ... eout );clearTi ... meout )config.timeoutconfig. ... eout );config. ... meout )setTime ... meout )functio ... ();\n\t\t}if ( co ... );\n\t\t\t}{\n\t\t\t\tc ... );\n\t\t\t}QUnit.p ...  2 ) );QUnit.p ... ( 2 ) )Test timed outthrow n ... out" );new Err ...  out" ){\n\trunS ... );\n\t}\n}runStarted = true;runStarted = trueif ( de ... n();\n\t}{\n\t\tset ... 3 );\n\t}setTime ... }, 13 )begin();begin(){\n\t\tbegin();\n\t}functio ... \n\t});\n}{\n\tvar  ... \n\t});\n}var runtime, passed;config.autorunif ( co ... \t});\n\t}config. ... sModule{\n\t\trun ... \t});\n\t}runLogg ... d\n\t\t});runLogg ... ed\n\t\t}){\n\t\t\tna ... ted\n\t\t}name: c ... le.nameconfig. ... le.nametests:  ... e.testsconfig. ... e.testsfailed: ... ats.badconfig. ... ats.badconfig.moduleStatspassed: ... ats.badconfig. ... ats.alltotal:  ... ats.allruntime ... startednow() - ... startedconfig. ... starteddelete  ... Module;delete  ... sModuleruntime ... tarted;passed  ... ts.bad;passed  ... ats.badconfig.stats.allconfig.statsconfig.stats.badrunLogg ... me\n\t});runLogg ... ime\n\t}){\n\t\tfai ... time\n\t}passed: passedruntime: runtimeif ( mo ...  {};\n\t}{\n\t\tmod ...  {};\n\t}module. ... t = {};module. ... nt = {}return  ... ck;\n\t};{\n\t\tmod ... ack;\n\t}module. ... llback;module. ... allbackmodule. ... kName ]var focused = false;focused = falsevar pri ... nt = 0;priorityCount = 0var i, l;++Test.count;++Test.countextend( ... ings );extend( ... tings )this.as ... s = [];this.assertions = []this.assertionsthis.semaphore = 0;this.semaphore = 0this.semaphorethis.us ...  false;this.us ... = falsethis.usedAsyncthis.mo ... Module;this.mo ... tModulethis.modulethis.st ... e( 3 );this.st ... ce( 3 )this.stacksourceF ... ce( 3 )i < l.lengthl.lengthi = 0,  ... e.testsl = thi ... e.teststhis.module.testsif ( th ...  ";\n\t\t}this.mo ... estNamethis.mo ...  ].namethis.mo ... ts[ i ]this.testName{\n\t\t\tth ...  ";\n\t\t}this.te ... += " ";this.testName += " "this.te ... Name );this.te ... tName )this.testIdgenerat ... tName )this.module.namethis.mo ... Id\n\t});this.mo ... tId\n\t})this.mo ... ts.push{\n\t\tnam ... stId\n\t}name: this.testNametestId: this.testIdif ( se ... s );\n\t}settings.skip{\n\n\t\t// ... = 0;\n\t}this.ca ... n() {};this.ca ... on() {}this.callbackthis.async = false;this.async = falsethis.asyncthis.expected = 0;this.expected = 0this.expected{\n\t\tthi ... s );\n\t}this.as ... this );this.as ...  this )this.assertnew Assert( this )Test.count = 0;Test.count = 0Test.pr ... ;\n\t}\n};Test.pr ... e;\n\t}\n}Test.prototype{\n\tbefo ... e;\n\t}\n}before: ... \n\t\t}\n\t}if (\n\n\t ... });\n\t\t}this.mo ... dule" )this.mo ... sModule!hasOwn ... dule" )hasOwn. ... dule" ){\n\t\t\tif ... });\n\t\t}if ( ha ... );\n\t\t\t}runLogg ... \t\t\t\t});runLogg ... \n\t\t\t\t}){\n\t\t\t\t\t ... d\n\t\t\t\t}config. ... .moduleconfig. ... ow() };config. ... now() }{ all:  ... now() }started: now()runLogg ... \n\t\t\t});runLogg ... s\n\t\t\t})name: t ... le.nameconfig. ... = this;config. ...  = thisif ( th ... ch;\n\t\t}this.mo ... ronment{\n\t\t\tde ... ch;\n\t\t}this.mo ... oreEachdelete  ... terEachthis.mo ... terEachthis.te ... ment );this.te ... nment )this.testEnvironmentthis.st ...  now();this.started = now()this.startedrunLogg ... Id\n\t\t}){\n\t\t\tna ... tId\n\t\t}module: ... le.nameif ( !c ... ();\n\t\t}!config.pollutionconfig.pollution{\n\t\t\tsa ... ();\n\t\t}saveGlobal();saveGlobal()run: fu ... \n\t\t}\n\t}var promise;if ( th ... ();\n\t\t}{\n\t\t\tQU ... ();\n\t\t}QUnit.stop();QUnit.stop()QUnit.stopthis.ca ...  now();this.ca ... = now()this.callbackStartedif ( co ... rn;\n\t\t}config.notrycatch{\n\t\t\tru ... rn;\n\t\t}runTest( this );runTest( this )try {\n\t ... \t\t}\n\t\t}{\n\t\t\tru ...  );\n\t\t}catch ( ... \t\t}\n\t\t}{\n\t\t\tth ... \t\t}\n\t\t}this.pu ...  0 ) );this.pu ... , 0 ) )this.pushFailure"Died o ...  || e )"Died o ...  + ": ""Died o ... s.stack"Died o ... ) + " ""Died o ... h + 1 )Died on test #( this. ... h + 1 )this.as ... gth + 1this.as ... .length( e.message || e )e.message || ee.messageextract ...  e, 0 )QUnit.start();QUnit.start()QUnit.start{\n\t\t\tpr ...  );\n\t\t}promise ... sert );promise ... ssert )test.ca ... ssert )test.callback.calltest.callbacktest.testEnvironmenttest.asserttest.re ... mise );test.re ... omise )test.resolvePromiseafter:  ... n();\n\t}functio ... n();\n\t}{\n\t\tche ... n();\n\t}checkPollution();checkPollution()queueHo ... \t\t};\n\t}functio ... \t\t};\n\t}{\n\t\tvar ... \t\t};\n\t}var pro ... = this;test = thisreturn  ... \t}\n\t\t};{\n\t\t\tco ... \t\t}\n\t\t}config. ... = test;config. ...  = testcallHook();callHook()try {\n\t ... );\n\t\t\t}catch ( ... );\n\t\t\t}test.pu ...  0 ) );test.pu ... , 0 ) )test.pushFailurehookNam ... error )hookNam ...  + ": "hookNam ... estNamehookNam ... ed on " failed on test.testName( error ... error )error.m ... | errorerror.messageextract ... or, 0 ){\n\t\t\t\tp ... );\n\t\t\t}hook.ca ... ssert )hook.calltest.re ... Name );test.re ... kName )hooks:  ... oks;\n\t}functio ... oks;\n\t}{\n\t\tvar ... oks;\n\t}var hooks = [];hooks = []if ( mo ... );\n\t\t\t}process ... dule );process ... odule )module. ... nction"QUnit.o ... nction"QUnit.o ... ler ] )module. ... ndler ]{\n\t\t\t\th ... );\n\t\t\t}hooks.p ... er ) );hooks.p ... ler ) )hooks.pushtest.qu ... ndler )test.queueHookif ( !t ...  );\n\t\t}!this.skipthis.skipreturn hooks;finish: ... ned;\n\t}functio ... ned;\n\t}{\n\t\tcon ... ned;\n\t}if ( co ...  );\n\t\t}config. ... == nullconfig. ... Expectsthis.ex ... == nullthis.pu ... tack );this.pu ... stack )"Expect ... alled.""Expect ... ) was "Expected number of assertions to be defined, but expect() was Expected number of assertions to be defined, but expect was not called.not calledif ( th ...  );\n\t\t}this.ex ... .length"Expect ... re run""Expect ... .length"Expect ... , but ""Expect ... xpectedExpected  assertions, but  were run!this.a ... .length"Expect ... tions.""Expect ...  call "Expected at least one assertion, but none were run - call "expect ... tions."expect(0) to accept zero assertions. to accept zero assertionsvar i,\n\t\t\tbad = 0;bad = 0this.ru ... tarted;this.ru ... startedthis.runtimenow() - this.startedconfig. ... length;for ( i ... \t\t}\n\t\t}if ( !t ... +;\n\t\t\t}!this.a ... .resultthis.as ... .resultthis.assertions[ i ]{\n\t\t\t\tb ... +;\n\t\t\t}bad++;bad++config.stats.bad++;config.stats.bad++config. ... .bad++;config. ... s.bad++runLogg ... e\n\t\t});runLogg ... me\n\t\t}){\n\t\t\tna ... ime\n\t\t}skipped: !!this.skip!!this.skipfailed: badpassed: ... h - badthis.as ... h - badtotal:  ... .lengthruntime ... runtimeasserti ... ertionssource: this.stackduratio ... runtimeQUnit.reset();QUnit.reset()QUnit.resetconfig. ... efined;config. ... definedqueue:  ... y );\n\t}functio ... y );\n\t}{\n\t\tvar ... y );\n\t}var pri ... = this;if ( !t ... rn;\n\t\t}!this.valid()this.valid()this.validfunctio ... ]);\n\t\t}{\n\n\t\t\t/ ... ]);\n\t\t}synchro ... \n\t\t\t]);synchro ... }\n\t\t\t])[\n\t\t\t\tf ... \t}\n\t\t\t]test.before();test.before()test.beforetest.ho ... Each" )test.hookstest.run();test.run()test.runtest.ho ... verse()test.ho ... reversetest.after();test.after()test.aftertest.finish();test.finish()test.finishpriorit ... Name );priorit ... tName )QUnit.c ... tName )QUnit.c ... Storagedefined ... Storage+sessio ... tName )session ... tName )session ... getItem"qunit- ... estName"qunit- ... e + "-""qunit- ... le.namequnit-test-return  ... rity );synchro ... ority )pushRes ... \t});\n\t}functio ... \t});\n\t}var sou ... d\n\t\t\t};details ... ed\n\t\t\t}{\n\t\t\t\tm ... ed\n\t\t\t}resultInfo.resultmessage ... messageresultInfo.messageresultInfo.actualresultInfo.expectednegativ ... | falseresultI ... | falseresultInfo.negativeif ( !r ... \t\t}\n\t\t}!resultInfo.result{\n\t\t\tso ... \t\t}\n\t\t}source  ... race();source  ... trace()sourceF ... trace()if ( so ... e;\n\t\t\t}{\n\t\t\t\td ... e;\n\t\t\t}details ... source;details ...  sourcerunLogg ... ails );runLogg ... tails )this.as ... e\n\t\t});this.as ... ge\n\t\t})this.assertions.push{\n\t\t\tre ... age\n\t\t}!!resultInfo.resultpushFai ... \t});\n\t}{\n\t\tif  ... \t});\n\t}if ( !( ...  );\n\t\t}!( this ...  Test )( this  ...  Test )this instanceof Testthrow n ...  2 ) );new Err ... ( 2 ) )"pushFa ... ce( 2 )"pushFa ... , was "pushFailure() assertion outside test context, was  assertion outside test context, was var det ... d\n\t\t\t};result: falsemessage ... "error"message || "error"actual: ... || nullactual || nullif ( so ... ce;\n\t\t}{\n\t\t\tde ... ce;\n\t\t}message: messageresolve ... \n\t\t}\n\t}var the ... = this;if ( pr ... \t\t}\n\t\t}promise != nullthen = promise.then;then = promise.thenpromise.thenQUnit.o ...  then )then.ca ... \n\t\t\t\t);then.ca ... }\n\t\t\t\t)then.callfunctio ... rt(); }{ QUnit.start(); }message ... rror );message ... error )"Promis ... error )"Promis ...  + ": ""Promis ... estName"Promis ... \t\t\t\t" ""Promis ...  "" ) )Promise rejected ( !phas ...  "" ) )!phase  ... /, "" )!phaseduringphase.r ... /, "" )phase.replaceEach$Eachvalid:  ... e );\n\t}functio ... e );\n\t}{\n\t\tvar ... e );\n\t}var fil ... Name );filter  ... .filterregexFi ... ilter )/^(!?)\ ... ilter )/^(!?)\ ... )/.exec/^(!?)\ ... /(i?$)/^(!?)\/([\w\W]*)\/(i?$)(!?)!?([\w\W]*)[\w\W]*[\w\W]\W(i?$)i?$module  ... rCase()QUnit.u ... rCase()QUnit.u ... .moduleQUnit.u ... werCasefullNam ... tName )( this. ... tName )this.mo ...  + ": "var tes ... : null;testMod ...  : nulltestModule.nametestMod ... rCase()testMod ... werCaseif ( te ... e;\n\t\t\t}testMod ...  module{\n\t\t\t\tr ... e;\n\t\t\t}testMod ... tModulereturn  ... dule );testInM ... odule )if ( th ... ue;\n\t\t}this.ca ... lidTest{\n\t\t\tre ... ue;\n\t\t}if ( co ... se;\n\t\t}config. ... d ) < 0config. ... gth > 0config.testId.lengthinArray ... d ) < 0inArray ... estId )if ( mo ... se;\n\t\t}module  ... odule )!testIn ... odule )if ( !f ... ue;\n\t\t}!filterreturn  ... Name );regexFi ... lName )this.re ... lName )this.regexFilter!!regexFilter[1]!regexFilter[1]regexFilter[1]regexFilter[2]regexFilter[3]this.st ... lName )this.stringFilterregexFi ... ude;\n\t}functio ... ude;\n\t}{\n\t\tvar ... ude;\n\t}var reg ... lags );regex = ... flags )new Reg ... flags )var mat ... Name );match = ... lName )regex.t ... lName )regex.testreturn  ... xclude;match !== excludestringF ... ude;\n\t}{\n\t\tfil ... ude;\n\t}filter  ... Case();filter  ... rCase()filter.toLowerCase()filter.toLowerCasefullNam ... Case();fullNam ... rCase()fullName.toLowerCasevar inc ... == "!";include ... !== "!"filter. ... !== "!"filter.charAt( 0 )filter.charAtif ( !i ...  );\n\t\t}!include{\n\t\t\tfi ...  );\n\t\t}filter  ... e( 1 );filter  ... ce( 1 )filter.slice( 1 )filter.sliceif ( fu ... de;\n\t\t}fullNam ...  !== -1fullNam ... ilter )fullName.indexOf{\n\t\t\tre ... de;\n\t\t}return include;return !include;QUnit.r ... ;\n\t}\n};QUnit.r ... e;\n\t}\n}{\n\n\t//  ... e;\n\t}\n}var fix ... ure" );fixture ... ture" )defined ... ture" )defined ... entByIddocumen ... entByIddocumen ... ture" )if ( fi ... ure;\n\t}{\n\t\tfix ... ure;\n\t}fixture ... ixture;fixture ... fixturefixture.innerHTMLconfig.fixtureQUnit.p ... s );\n};QUnit.p ... ts );\n}functio ... ts );\n}{\n\tif ( ... ts );\n}if ( !Q ... ) );\n\t}!QUnit. ... current{\n\t\tthr ... ) );\n\t}"pushFa ... t, in "pushFailure() assertion outside test context, in  assertion outside test context, in var cur ... urrent;current ... currentreturn  ... ents );current ... ments )current ... e.applycurrent ... Failurefunctio ... -8 );\n}{\n\tvar  ... -8 );\n}var hex ... length;hash = 0str = m ... estNamemodule  ... estNamemodule + "\x1C"len = str.lengthfor ( ; ... = 0;\n\t}{\n\t\thas ... = 0;\n\t}hash  = ... t( i );hash  = ... At( i )( ( has ... At( i )( ( has ...  hash )( hash << 5 ) - hash( hash << 5 )hash << 5str.charCodeAt( i )hash |= 0;hash |= 0hex = ( ... ( 16 );hex = ( ... g( 16 )( 0x100 ... g( 16 )( 0x100 ... oString( 0x100 ...  hash )0x100000000 + hash4294967296if ( he ... hex;\n\t}hex.length < 8hex.length{\n\t\thex ... hex;\n\t}hex = " ...  + hex;hex = " ... " + hex"0000000" + hex0000000return  ... ( -8 );hex.slice( -8 )hex.slice-8var las ... iority;last = !priority!priorityif ( QU ... urn;\n\t}QUnit.o ... "array"QUnit.o ... lback ){\n\t\twhi ... urn;\n\t}while ( ...  );\n\t\t}callback.length{\n\t\t\tsy ...  );\n\t\t}synchro ... ft() );synchro ... ift() )callback.shift()callback.shiftif ( pr ... k );\n\t}{\n\t\tcon ... k );\n\t}config.queue.splicepriorityCount++config.queue.push{\n\tconf ... \t}\n\t}\n}config. ... n = [];config. ... on = []if ( co ... \n\t\t}\n\t}config.noglobalsfor ( v ... \t\t}\n\t\t}{\n\n\t\t\t\t ... );\n\t\t\t}if ( /^ ... ;\n\t\t\t\t}/^qunit ... ( key )/^qunit ... t/.test^qunit-test-outputqunit-test-outputconfig. ...  key );config. ... ( key )config. ... on.pushvar new ... lution;old = c ... llutionnewGlob ...  old );newGlob ... , old )diff( c ... , old )if ( ne ... ) );\n\t}newGlob ... gth > 0newGlobals.length{\n\t\tQUn ... ) );\n\t}QUnit.p ...  " ) );QUnit.p ... , " ) )"Introd ...  ", " )"Introd ... e(s): "Introduced global variable(s): Introduced global variable(s)newGlob ...  ", " )newGlobals.joindeleted ... tion );deleted ... ution )diff( o ... ution )if ( de ... ) );\n\t}deleted ... gth > 0deleted ... .length"Delete ...  ", " )"Delete ... e(s): "Deleted global variable(s): Deleted global variabledeleted ...  ", " )deletedGlobals.join{\n\tif ( ... ue );\n}if ( ar ... ull;\n\t}{\n\t\tcal ... ull;\n\t}callback = expected;callback = expectedexpected = null;expected = nullQUnit.t ... true );QUnit.t ...  true )functio ... ue();\n}{\n\tif ( ... ue();\n}if ( fo ... turn; }{ return; }var newTest;newTest ... ck\n\t});newTest ... ack\n\t})new Tes ... ack\n\t}){\n\t\ttes ... back\n\t}testName: testNameexpected: expectedasync: asynccallback: callbacknewTest.queue();newTest.queue()newTest.queuevar tes ... ue\n\t});test =  ... rue\n\t})new Tes ... rue\n\t}){\n\t\ttes ... true\n\t}skip: truetest.queue();test.queue()test.queue{\n\tvar  ... ue();\n}QUnit.c ... th = 0;QUnit.c ... gth = 0QUnit.c ... .lengthQUnit.config.queuefocused = true;focused = truefunctio ... text;\n}{\n\tthis ... text;\n}this.te ... ontext;this.te ... Contextthis.testQUnit.a ... ;\n\t}\n};QUnit.a ... );\n\t}\n}QUnit.assertAssert. ... );\n\t}\n}Assert.prototypeexpect: ... \n\t\t}\n\t}if ( ar ... ed;\n\t\t}argumen ... h === 1{\n\t\t\tth ... ts;\n\t\t}this.te ... sserts;this.te ... assertsthis.test.expected{\n\t\t\tre ... ed;\n\t\t}return  ... pected;async:  ... \t\t};\n\t}var tes ...  count;test = this.testpopped = falseacceptC ... = countif ( ty ...  1;\n\t\t}typeof  ... llCount{\n\t\t\tac ...  1;\n\t\t}acceptCallCount = 1;acceptCallCount = 1test.semaphore += 1;test.semaphore += 1test.semaphoretest.us ... = true;test.us ...  = truetest.usedAsyncreturn  ... );\n\t\t};{\n\n\t\t\ti ... ();\n\t\t}if ( po ... n;\n\t\t\t}{\n\t\t\t\tt ... n;\n\t\t\t}test.pu ...  2 ) );test.pu ... ( 2 ) )"Too ma ... llback"Too many calls to the `assert.async` callbackToo many calls to the `assertasync` callbackacceptC ... t -= 1;acceptCallCount -= 1if ( ac ... n;\n\t\t\t}acceptCallCount > 0test.semaphore -= 1;test.semaphore -= 1popped = true;popped = truepush: f ... } );\n\t}functio ... } );\n\t}{\n\t\tvar ... } );\n\t}var cur ... assert;current ... .assertthis in ... .assertthis in ...  AssertQUnit.c ... .assertreturn  ... \n\t\t} );current ... e\n\t\t} )current ... hResult{\n\t\t\tre ... ive\n\t\t}result: resultactual: actualnegative: negativepushRes ... o );\n\t}functio ... o );\n\t}{\n\n\t\t// ... o );\n\t}var ass ... urrent;assert = this( asser ... current( asser ... .test )assert  ... rt.testassert  ...  Assertassert.test!currentTest"assert ... ce( 2 )"assert ... t, in "assertion outside test context, in if ( cu ... ...\n\t\t}current ... e === 0current ... == truecurrent ... edAsynccurrent ... maphore{\n\t\t\tcu ... ...\n\t\t}current ...  2 ) );current ... ( 2 ) )"Assert ... solved"Assertion after the final `assert.async` was resolvedAssertion after the final `assertasync` was resolvedif ( !( ... rt;\n\t\t}!( asse ... ssert )( asser ... ssert ){\n\t\t\tas ... rt;\n\t\t}assert  ... assert;assert  ... .assertcurrentTest.assertreturn  ... Info );assert. ... tInfo )assert. ... hResultok: fun ... } );\n\t}{\n\t\tmes ... } );\n\t}message ... lt ) );message ... ult ) )( resul ... ult ) )result  ... esult )okay"failed ... esult )"failed ...  was: "failed, expected argument to be truthy, was: QUnit.d ... esult )this.pu ... \n\t\t} );this.pu ... e\n\t\t} )this.pushResultresult: !!result!!result!resultactual: resultexpected: truenotOk:  ... } );\n\t}( !resu ... ult ) )!result ... esult )failed, expected argument to be falsy, was: result: !resultexpected: falseequal:  ... } );\n\t}{\n\t\t/*j ... } );\n\t}result: ...  actualexpected == actualnotEqua ... } );\n\t}{\n\t\t\tre ... rue\n\t\t}expected != actualnegative: truepropEqu ... } );\n\t}{\n\t\tact ... } );\n\t}actual  ... tual );actual  ... ctual )objectV ... ctual )expecte ... cted );expecte ... ected )objectV ... ected )result: ... ected )QUnit.e ... ected )QUnit.equivnotProp ... } );\n\t}!QUnit. ... ected )deepEqu ... } );\n\t}{\n\t\tthi ... } );\n\t}notDeep ... } );\n\t}strictE ... } );\n\t}expected === actualnotStri ... } );\n\t}expected !== actual"throws ... } );\n\t}var act ... urrent;ok = false( this  ... current( this  ... .test )this in ... is.testif ( me ... ll;\n\t\t}message ... string"message == nulltypeof expected{\n\t\t\tme ... ll;\n\t\t}message = expected;message = expectedcurrent ... = true;current ...  = truecurrent ... lErrorstry {\n\t ...  e;\n\t\t}{\n\t\t\tbl ...  );\n\t\t}block.c ... ment );block.c ... nment )block.callcurrent ... ronmentcatch ( ...  e;\n\t\t}{\n\t\t\tactual = e;\n\t\t}actual = e;actual = ecurrent ...  false;current ... = falseif ( ac ... \t\t}\n\t\t}{\n\t\t\tex ... \t\t}\n\t\t}QUnit.o ... ected )if ( !e ... e;\n\t\t\t}!expected{\n\t\t\t\to ... xp\n\t\t\t}ok = true;ok = trueexpecte ... = null;expecte ...  = nullif ( ex ... e;\n\t\t\t}expecte ... regexp"{\n\t\t\t\to ... ng\n\t\t\t}ok = ex ... al ) );ok = ex ... ual ) )expecte ... ual ) )expected.testerrorSt ... ctual )expecte ... string"{\n\t\t\t\to ... or\n\t\t\t}ok = ex ... tual );ok = ex ... ctual )expecte ... ctual )expecte ... nction"actual  ... xpected{\n\t\t\t\to ... ct\n\t\t\t}expecte ... object"{\n\t\t\t\to ... ed\n\t\t\t}ok = ac ... essage;ok = ac ... messageactual  ... messageactual  ... ed.nameactual  ... tructorexpected.constructoractual. ... ed.nameactual.nameexpected.nameactual. ... messageactual.messageexpected.messageexpecte ... == trueexpected.call{\n\t\t\t\te ... e;\n\t\t\t}current ... \n\t\t} );result: okexpecte ... dOutput(functi ... ;\n}());(functi ... ];\n}())functio ...  ];\n}()functio ... s" ];\n}{\n\t/*js ... s" ];\n}Assert. ... ows" ];Assert. ... rows" ]Assert. ... .raisesfunctio ... g;\n\t}\n}{\n\tvar  ... g;\n\t}\n}var nam ... ring();resultE ... tring()error.toString()error.toStringif ( re ... ing;\n\t}resultE ... object"resultE ...  0, 7 )resultE ... bstring[object{\n\t\tnam ... \n\t\t}\n\t}name =  ... Error";name =  ... "Error"error.n ... "Error"error.nameerror.n ... tring()error.name.toStringmessage ... ) : "";message ... () : ""error.m ... () : ""error.m ... tring()error.m ... oStringif ( na ... r";\n\t\t}name && message{\n\t\t\tre ... ge;\n\t\t}return  ... essage;name +  ... messagename + ": "{\n\t\t\tre ... me;\n\t\t}if ( me ... r";\n\t\t}return message;{\n\t\t\tre ... r";\n\t\t}return "Error";{\n\t\tret ... ing;\n\t}return  ... String;QUnit.e ... ;\n}());QUnit.e ... v;\n}())(functi ... v;\n}())functio ... iv;\n}()functio ... quiv;\n}{\n\n\t//  ... quiv;\n}var callers = [];callers = []var parents = [];parents = []var parentsB = [];parentsB = []{\n\n\t\t/* ... o__;\n\t}obj.__proto__functio ... = b;\n\t}{\n\n\t\t// ... = b;\n\t}if ( ty ... ();\n\t\t}typeof a{\n\t\t\ta  ... ();\n\t\t}a = a.valueOf();a = a.valueOf()a.valueOf()a.valueOftypeof b{\n\t\t\tb  ... ();\n\t\t}b = b.valueOf();b = b.valueOf()b.valueOf()b.valueOfreturn a === b;functio ... lse;\n\t}{\n\t\tvar ... lse;\n\t}var pro ... o( a );protoA  ... to( a )getProto( a )var pro ... o( b );protoB  ... to( b )getProto( b )if ( a. ... ue;\n\t\t}b.constructorif ( pr ... ll;\n\t\t}protoA  ... == nullprotoA. ... == nullprotoA.constructor{\n\t\t\tpr ... ll;\n\t\t}protoA = null;protoA = nullprotoB  ... == nullprotoB. ... == nullprotoB.constructorprotoB = null;protoB = nullif ( (  ... ue;\n\t\t}( proto ... otype )protoA  ... ototypeprotoA === nullprotoB  ... ototypeprotoB === nullfunctio ... 0 ];\n\t}{\n\t\tret ... 0 ];\n\t}return  ... )[ 0 ];"flags" ...  )[ 0 ]"flags" in regexpregexp.flagsregexp. ...  )[ 0 ]regexp. ... y]*$/ )regexp. ... ).matchregexp.toString()regexp.toString[gimuy]*$[gimuy]*[gimuy]var cal ... \t\t}\n\t};callbac ... \n\t\t}\n\t}{\n\t\t"st ... \n\t\t}\n\t}"string ... quality"boolea ... quality"number ... quality"null": ... quality"undefi ... quality"symbol ... quality"date": ... quality"nan":  ... ue;\n\t\t}functio ... ue;\n\t\t}"regexp ...  );\n\t\t}return  ... s( b );a.sourc ... gs( b )a.sourc ... .sourcea.sourceb.sourcegetRegE ... gs( b )getRegExpFlags( a )getRegExpFlags( b )"functi ... d";\n\t\t}functio ... d";\n\t\t}{\n\t\t\tva ... d";\n\t\t}var cal ...  - 1 ];caller  ... h - 1 ]callers ... h - 1 ]callers.length - 1callers.lengthreturn  ... fined";caller  ... efined"caller !== Objecttypeof caller"array" ... ue;\n\t\t}{\n\t\t\tva ... ue;\n\t\t}var i,  ... rcular;len = a.length;len = a.lengthif ( le ... e;\n\t\t\t}len !== b.length{\n\t\t\t\t/ ... e;\n\t\t\t}parents.push( a );parents.push( a )parents.pushparentsB.push( b );parentsB.push( b )parentsB.pushfor ( i ... \t}\n\t\t\t}{\n\t\t\t\tl ... \t}\n\t\t\t}loop = false;loop = falsefor ( j ... }\n\t\t\t\t}j < parents.lengthparents.lengthaCircul ... a[ i ];aCircul ...  a[ i ]parents ...  a[ i ]parents[ j ]a[ i ]bCircul ... b[ i ];bCircul ...  b[ i ]parents ...  b[ i ]parentsB[ j ]b[ i ]if ( aC ... \n\t\t\t\t\t}aCircul ... ircularif ( a[ ... \t\t\t\t\t\t}a[ i ]  ... irculara[ i ] === b[ i ]loop = true;loop = trueparents.pop();parents.pop()parents.popparentsB.pop();parentsB.pop()parentsB.popif ( !l ... ;\n\t\t\t\t}!loop & ... [ i ] )!loop!innerE ... [ i ] )innerEq ... [ i ] )"set":  ...  );\n\t\t}{\n\t\t\tva ...  );\n\t\t}var aArray, bArray;aArray = [];aArray = []a.forEa ... \n\t\t\t});a.forEa ... ;\n\t\t\t})a.forEach{\n\t\t\t\ta ... );\n\t\t\t}aArray.push( v );aArray.push( v )aArray.pushbArray = [];bArray = []b.forEa ... \n\t\t\t});b.forEa ... ;\n\t\t\t})b.forEachbArray.push( v );bArray.push( v )bArray.pushreturn  ... rray );innerEq ... Array )"map":  ...  );\n\t\t}aArray. ...  v ] );aArray. ... , v ] )[ k, v ]bArray. ...  v ] );bArray. ... , v ] )"object ...  );\n\t\t}var eq = true;eq = truevar aPr ... s = [];aProperties = []var bPr ... s = [];bProperties = []compare ... = falsecompare ...  a, b )callers ... ctor );callers ... uctor )callers.pusheq = false;eq = falseaProper ... h( i );aProper ... sh( i )aProperties.pushcallers.pop();callers.pop()callers.popbProper ... h( i );bProper ... sh( i )bProperties.pushreturn  ... rt() );eq && i ... ort() )innerEq ... ort() )aProperties.sort()aProperties.sortbProperties.sort()bProperties.sortfunctio ... a );\n\t}{\n\t\tvar ... a );\n\t}var typ ... e( a );type =  ... pe( a )QUnit.o ... pe( a )return  ... b, a );QUnit.o ...  b, a )QUnit.o ... pe( b )callbac ...  b, a )callbacks[ type ]functio ... ) );\n\t}{\n\n\t\t// ... ) );\n\t}if ( ar ... ue;\n\t\t}arguments.length < 2return  ...  ) ) );( a === ... 1 ) ) )( a === ... , b ) )a === b ...  a, b )typeEquiv( a, b )( argum ... 1 ) ) )argumen ... , 1 ) )innerEq ... , 1 ) )innerEquiv.apply[].slic ... ts, 1 )return innerEquiv;QUnit.d ... ;\n}());QUnit.d ... p;\n}())(functi ... p;\n}())functio ... mp;\n}()functio ... dump;\n}{\n\tfunc ... dump;\n}functio ... \"";\n\t}{\n\t\tret ... \"";\n\t}return  ... + "\"";"\"" +  ...  + "\"""\"" +  ... \\\"" )str.toS ... \\\"" )str.toS ... replacestr.toS ... \\\\" )str.toString()str.toStringfunctio ...  "";\n\t}{\n\t\tret ...  "";\n\t}return o + "";o + ""functio ... s );\n\t}{\n\t\tvar ... s );\n\t}var s = ... t( 1 );s = dump.separator()dump.separator()dump.separatorbase = dump.indent()dump.indent()dump.indentinner = ... nt( 1 )dump.indent( 1 )if ( ar ...  );\n\t\t}arr.join{\n\t\t\tar ...  );\n\t\t}arr = a ... nner );arr = a ... inner )arr.joi ... inner )"," + s + inner"," + sif ( !a ... st;\n\t\t}!arr{\n\t\t\tre ... st;\n\t\t}return pre + post;pre + postreturn  ... n( s );[ pre,  ... in( s )[ pre,  ...  ].join[ pre,  ...  post ]inner + arrbase + postfunctio ... " );\n\t}{\n\t\tvar ... " );\n\t}var i = ... y( i );i = arr.lengthret = new Array( i )new Array( i )if ( du ... ]";\n\t\t}dump.ma ... axDepthdump.maxDepthdump.de ... axDepthdump.depthreturn  ... rray]";this.up();this.up()this.upret[ i  ... tack );ret[ i  ... stack )ret[ i ]this.pa ... stack )arr[ i ]this.down();this.down()this.downreturn  ...  "]" );join( " ... , "]" )var reN ... ue\n\t\t};reName  ...  (\w+)/^function (\w+)function dump =  ... rue\n\t\t}{\n\n\t\t\t/ ... rue\n\t\t}parse:  ... r;\n\t\t\t}functio ... r;\n\t\t\t}{\n\t\t\t\ts ... r;\n\t\t\t}stack = stack || [];stack = stack || []stack || []var res ... tack );inStack ... stack )inArray ... stack )if ( in ... ;\n\t\t\t\t}inStack !== -1"recurs ... ) + ")""recurs ... ength )recursion(( inSta ... ength )inStack ... .lengthobjType ... obj  );objType ...  obj  )this.typeOf( obj  )this.typeOfparser  ... Type ];parser  ... jType ]this.pa ... jType ]this.parsersparserT ... parser;parserT ...  parsertypeof parserif ( pa ... ;\n\t\t\t\t}parserT ... nction"stack.push( obj );stack.push( obj )stack.pushres = p ... tack );res = p ... stack )parser. ... stack )parser.callstack.pop();stack.pop()stack.popreturn  ... .error;( parse ... s.error( parse ... ring" )parserT ... string"this.parsers.errortypeOf: ... e;\n\t\t\t}functio ... e;\n\t\t\t}{\n\t\t\t\tv ... e;\n\t\t\t}var type;if ( ob ... ;\n\t\t\t\t}type = "null";type = "null"if ( ty ... ;\n\t\t\t\t}type = "undefined";type = "undefined"type = "regexp";type = "regexp"type = "date";type = "date"type = "function";type = "function"obj.set ... definedobj.setIntervalobj.doc ... definedobj.documentobj.nod ... definedobj.nodeTypetype = "window";type = "window"obj.nodeType === 9type = "document";type = "document"type = "node";type = "node"if (\n\n\t ... ;\n\t\t\t\t}toStrin ... d ) ) )toStrin ... Array]"( typeo ... d ) ) )typeof  ... ned ) )typeof  ... definedtypeof obj.lengthobj.lengthobj.ite ... definedobj.item( obj.l ... ned ) )obj.len ... fined )obj.ite ... bj[ 0 ]obj.item( 0 )obj[ 0 ]( obj.i ... fined )obj.ite ... == nullobj[ 0  ... definedtype = "array";type = "array"obj.con ... tructorError.p ... tructortype = "error";type = "error"type = typeof obj;type = typeof objreturn type;separat ... ";\n\t\t\t}functio ... ";\n\t\t\t}return  ...  : " ";this.mu ... " : " "this.multilinethis.HT ...  : "\n"this.HTML<br />this.HT ... " : " "&#160;indent: ... );\n\t\t\t}if ( !t ... ;\n\t\t\t\t}!this.multilinevar chr ... ntChar;chr = t ... entCharthis.indentCharif ( th ... ;\n\t\t\t\t}chr = c ... 60;" );chr = c ... 160;" )chr.rep ... 160;" )chr.rep ... replacechr.rep ... "   " )chr.replace   return  ...  chr );new Arr ... ( chr )new Arr ...  ).joinnew Arr ... | 0 ) )this.de ...  || 0 )this.depth( extra || 0 )extra || 0up: fun ... 1;\n\t\t\t}functio ... 1;\n\t\t\t}{\n\t\t\t\tt ... 1;\n\t\t\t}this.de ... a || 1;this.depth += a || 1a || 1down: f ... 1;\n\t\t\t}this.depth -= a || 1setPars ... r;\n\t\t\t}{\n\t\t\t\tt ... r;\n\t\t\t}this.pa ... parser;this.pa ...  parserthis.parsers[ name ]quote: quoteliteral: literaljoin: joindepth: 1maxDept ... axDepthQUnit.c ... axDepthparsers ... al\n\t\t\t}{\n\t\t\t\tw ... al\n\t\t\t}window: "[Window]"[Window]documen ... ument]"[Document]error:  ... ;\n\t\t\t\t}return  ...  "\")";"Error( ... + "\")""Error( ... messageError("")unknown: "[Unknown]"[Unknown]"null": "null""undefi ... efined""functi ... ;\n\t\t\t\t}var ret ... )[ 1 ];ret = "function"name =  ...  )[ 1 ]"name"  ...  )[ 1 ]"name" in fnfn.name( reNam ...  )[ 1 ]( reNam ... || [] )reName. ... ) || []reName.exec( fn )reName.execif ( na ... \n\t\t\t\t\t}ret += " " + name;ret += " " + name" " + nameret += "( ";ret += "( "( ret = [ ... ( "" );ret = [ ... n( "" )[ ret,  ... n( "" )[ ret,  ...  ].join[ ret,  ...  "){" ]dump.pa ... Args" )dump.parse){return  ...  "}" );join( r ... , "}" )dump.pa ... Code" )array: arraynodelist: array"arguments": arrayobject: ... ;\n\t\t\t\t}var key ... t = [];nonEnum ... pertiesret = []if ( du ... \n\t\t\t\t\t}return  ... ject]";dump.up();dump.up()dump.upkeys = [];keys = []for ( k ... \n\t\t\t\t\t}keys.push( key );keys.push( key )keys.pushnonEnum ... ame" ];nonEnum ... name" ][ "mess ... name" ]for ( i ... \n\t\t\t\t\t}key = n ... s[ i ];key = n ... es[ i ]nonEnum ... es[ i ]if ( ke ... \t\t\t\t\t\t}key in  ... s ) < 0key in mapinArray ... s ) < 0inArray( key, keys )keys.sort();keys.sort()keys.sorti < keys.lengthkeys.lengthkey = keys[ i ];key = keys[ i ]keys[ i ]val = map[ key ];val = map[ key ]map[ key ]ret.pus ... ck ) );ret.pus ... ack ) )ret.pushdump.pa ... stack )dump.pa ...  + ": "dump.pa ... "key" )dump.down();dump.down()dump.downjoin( " ... , "}" )node: f ... ;\n\t\t\t\t}var len ... ibutes;open =  ... " : "<"dump.HT ... " : "<"dump.HTML&lt;close = ... " : ">"dump.HT ... " : ">"&gt;tag = n ... rCase()node.no ... rCase()node.no ... werCasenode.nodeNameret = open + tagopen + tagattrs = ... ributesnode.attributesif ( at ... \n\t\t\t\t\t}for ( i ... \t\t\t\t\t\t}len = attrs.lengthattrs.lengthval = a ... eValue;val = a ... deValueattrs[ i ].nodeValueattrs[ i ]if ( va ... \t\t\t\t\t\t}val &&  ... nherit"val !== "inherit"ret +=  ... ute" );ret +=  ... bute" )" " + a ... bute" )" " + a ... e + "="" " + a ... odeNameattrs[ i ].nodeNamedump.pa ... bute" )ret += close;ret += closeif ( no ... \n\t\t\t\t\t}node.no ... e === 4node.nodeType === 3node.nodeTypenode.nodeType === 4ret +=  ... eValue;ret +=  ... deValuenode.nodeValuereturn  ...  close;ret + o ... + closeret + o ... " + tagret + open + "/"ret + openl = fn.lengthfn.lengthif ( !l ... \n\t\t\t\t\t}!largs =  ... y( l );args =  ... ay( l )new Array( l )while ( ... \n\t\t\t\t\t}l--{\n\n\t\t\t\t ... \n\t\t\t\t\t}args[ l ...  + l );args[ l ... 7 + l )args[ l ]String. ... 7 + l )97 + lreturn  ...  + " ";" " + a ... ) + " "" " + a ...  ", " )args.join( ", " )args.joinkey: quotefunctio ... [code]"[code]attribute: quotestring: quotedate: quoteregexp: literalnumber: literal"boolean": literalHTML: falseindentChar: "  "multiline: truereturn dump;QUnit.j ... t.dump;QUnit.j ... it.dumpQUnit.jsDump(functi ... \t}\n})()(functi ... ;\n\t}\n})var i,\n ... totype;asserti ... ototype{\n\t\tret ... \t\t};\n\t}var ass ... rent );assert  ... rrent )new Ass ... rrent )current ... ents );current.applyfor ( i ... ] );\n\t}{\n\t\tQUn ... ] );\n\t}QUnit[  ...  i ] );QUnit[  ... [ i ] )QUnit[ i ]applyCu ... [ i ] )assertions[ i ]if ( de ... Unit;\n}{\n\n\t(fu ... Unit;\n}(functi ... \n\t})();(functi ... }\n\t})()(functi ... \t\t}\n\t})var i,  ... "\n\t\t\t];keys =  ... s"\n\t\t\t][\n\t\t\t\t" ... s"\n\t\t\t]for ( i ...  ];\n\t\t}l = keys.length{\n\t\t\twi ...  ];\n\t\t}window[ ...  i ] ];window[ ... [ i ] ]window[ keys[ i ] ]QUnit[ keys[ i ] ]window. ...  QUnit;window.QUnit = QUnitwindow.QUnitif ( ty ... Unit;\n}typeof  ...  module{\n\tmodu ... Unit;\n}module. ...  QUnit;module. ... = QUnitmodule.exports.QUnit{\n\texpo ... Unit;\n}exports ...  QUnit;exports ... = QUnitexports.QUnitif ( ty ... alse;\n}{\n\tdefi ... alse;\n}define( ... ;\n\t} );define( ... t;\n\t} )functio ... nit;\n\t}{\n\t\treturn QUnit;\n\t}return QUnit;QUnit.c ...  false;QUnit.c ... tostartQUnit.d ... \n}() );QUnit.d ... ;\n}() )QUnit.diff( funct ... ;\n}() )functio ... \t};\n}(){\n\tfunc ... ;\n\t};\n}functio ... () {\n\t}{\n\t}var DIF ... AL = 0;DIFF_DELETE = -1DIFF_INSERT = 1DIFF_EQUAL = 0DiffMat ... fs;\n\t};DiffMat ... ffs;\n\t}DiffMat ... iffMainDiffMat ... ototypefunctio ... ffs;\n\t}{\n\t\tvar ... ffs;\n\t}var dea ...  diffs;deadlin ... + 1000;deadlin ...  + 1000( new D ...  + 1000( new D ... tTime()( new D ... getTime( new Date() )if ( te ...  );\n\t\t}text1 = ... == nulltext1 === nulltext2 === nullthrow n ... in)" );new Err ... ain)" )"Null i ... fMain)"Null input. (DiffMain)Null input(DiffMain)if ( te ... [];\n\t\t}text1 === text2{\n\t\t\tif ... [];\n\t\t}if ( te ... ];\n\t\t\t}return  ... \n\t\t\t\t];[\n\t\t\t\t\t ... ]\n\t\t\t\t][ DIFF_ ... text1 ]if ( ty ... ue;\n\t\t}typeof optChecklines{\n\t\t\top ... ue;\n\t\t}optChec ... = true;optChecklines = truecheckli ... klines;checkli ... cklinescommonl ... ext2 );commonl ... text2 )this.di ... text2 )this.di ... nPrefixcommonp ... ngth );commonp ... ength )text1.s ... ength )text1.substringtext1 = ... ngth );text1 = ... ength )text2 = ... ngth );text2 = ... ength )text2.s ... ength )text2.substringthis.di ... nSuffixcommons ... ngth );commons ... ength )text1.l ... nlengthtext1.lengthtext2.l ... nlengthtext2.lengthdiffs = ... line );diffs = ... dline )this.di ... dline )this.diffCompute{\n\t\t\tdi ...  );\n\t\t}diffs.u ... ix ] );diffs.u ... fix ] )diffs.unshift[ DIFF_ ... refix ]diffs.p ... ix ] );diffs.p ... fix ] )diffs.push[ DIFF_ ... uffix ]this.di ... iffs );this.di ... diffs )this.di ... upMergereturn diffs;DiffMat ... \t\t}\n\t};DiffMat ... \n\t\t}\n\t}DiffMat ... iciencydiffCle ... iciencyvar cha ... ostDel;changes = false;changes = falseequalities = [];equalities = []equalit ... th = 0;equalitiesLength = 0lastequality = null;lastequality = nullpointer = 0;pointer = 0preIns = false;preIns = falsepreDel = false;preDel = falsepostIns = false;postIns = falsepostDel = false;postDel = falsewhile ( ... ++;\n\t\t}pointer ... .lengthdiffs.length{\n\n\t\t\t/ ... ++;\n\t\t}if ( di ... \t}\n\t\t\t}diffs[  ... F_EQUALdiffs[  ...  ][ 0 ]diffs[ pointer ]{\n\t\t\t\ti ... n.\n\t\t\t}if ( di ... ;\n\t\t\t\t}diffs[  ... stDel )diffs[  ... gth < 4diffs[  ... .lengthdiffs[  ...  ][ 1 ]( postI ... stDel )postIns || postDel{\n\n\t\t\t\t ... ;\n\t\t\t\t}equalit ... ointer;equalit ... pointerequalit ... gth++ ]equalitiesLength++preIns = postIns;preIns = postInspreDel = postDel;preDel = postDellastequ ... ][ 1 ];lastequ ...  ][ 1 ]postIns ...  false;postIns ... = false{\n\n\t\t\t\t ... \t}\n\t\t\t}diffs[  ... _DELETEpostDel = true;postDel = truepostIns = true;postIns = trueif ( la ... ;\n\t\t\t\t}lastequ ... = 3 ) )( ( pre ... = 3 ) )( preIn ... === 3 )( preIn ... stDel )preIns  ... postDelpreIns  ... postInspreIns && preDel( ( las ... === 3 )( laste ... ) === 3( laste ... h < 2 )lastequ ... gth < 2lastequality.length( preIn ... ) === 3preIns + preDeldiffs.s ... \t\t\t\t\t);diffs.s ... \n\t\t\t\t\t)diffs.spliceequalit ... h - 1 ]equalitiesLength - 1[ DIFF_ ... ality ]diffs[  ... INSERT;diffs[  ... _INSERTdiffs[  ... ] + 1 ]equalit ... 1 ] + 1equalitiesLength--;equalitiesLength--if ( pr ... \n\t\t\t\t\t}postIns ... = true;postIns ...  = truepointer ... ] : -1;pointer ...  ] : -1equalit ...  ] : -1equalitiesLength > 0changes = true;changes = truepointer++;pointer++if ( ch ...  );\n\t\t}DiffMat ...  );\n\t};DiffMat ... " );\n\t}DiffMat ... ttyHtmlvar op, ... l = [];html = []for ( x ... \t\t}\n\t\t}x < diffs.lengthx++x = 0{\n\t\t\top ... \t\t}\n\t\t}op = di ... ][ 0 ];op = diffs[ x ][ 0 ]diffs[ x ][ 0 ]diffs[ x ]data =  ... ][ 1 ];data =  ...  ][ 1 ]diffs[ x ][ 1 ]switch  ... k;\n\t\t\t}case DI ... \tbreak;html[ x ... /ins>";html[ x ... </ins>"html[ x ]"<ins>" ... </ins>""<ins>" + data<ins></ins>html[ x ... /del>";html[ x ... </del>""<del>" ... </del>""<del>" + data<del></del>html[ x ... span>";html[ x ... /span>""<span> ... /span>""<span>" + data<span></span>return  ... ( "" );html.join( "" )html.joinDiffMat ... id;\n\t};DiffMat ... mid;\n\t}DiffMat ... nPrefixfunctio ... mid;\n\t}{\n\t\tvar ... mid;\n\t}var poi ... rstart;if ( !t ...  0;\n\t\t}!text1  ... At( 0 )!text1 || !text2!text1!text2text1.c ... At( 0 )text1.charAt( 0 )text1.charAttext2.charAt( 0 )text2.charAt{\n\t\t\treturn 0;\n\t\t}pointermin = 0;pointermin = 0pointer ... ngth );pointer ... ength )Math.mi ... ength )pointer ... termax;pointer ... ntermaxpointerstart = 0;pointerstart = 0pointer ... ntermidtext1.s ... ermid )text2.s ... ermid ){\n\t\t\t\tp ... n;\n\t\t\t}pointer ... termid;pointer ... termin;pointer ... ntermin{\n\t\t\t\tp ... d;\n\t\t\t}pointer ... rmin );pointer ... ermin )Math.fl ... ermin )( point ... ntermin( point ... n ) / 2( point ... ermin )return pointermid;DiffMat ... nSuffixvar poi ... terend;!text1  ... h - 1 )!text1 ||\n\t\t\t\t!text2text1.c ... h - 1 )text1.length - 1text2.c ... h - 1 )text2.length - 1pointerend = 0;pointerend = 0text1.s ... erend )text1.l ... ntermidtext1.l ... nterendtext2.s ... erend )text2.l ... ntermidtext2.l ... nterendDiffMat ... e );\n\t}DiffMat ... Computevar dif ... diffsB;if ( !t ... \t];\n\t\t}{\n\t\t\t// ... \t];\n\t\t}return  ... ]\n\t\t\t];[\n\t\t\t\t[ ...  ]\n\t\t\t][ DIFF_ ... text2 ]longtex ...  text2;longtex ... : text2text1.l ... : text2text1.l ... .lengthshortte ...  text1;shortte ... : text1text1.l ... : text1i = lon ... text );i = lon ... ttext )longtex ... ttext )longtext.indexOfif ( i  ... fs;\n\t\t}i !== -1{\n\t\t\t// ... fs;\n\t\t}diffs = ... ]\n\t\t\t];diffs = ...  ]\n\t\t\t][ DIFF_ ... , i ) ]longtex ...  0, i )longtext.substring[ DIFF_ ... ttext ][ DIFF_ ... gth ) ]longtex ... ength )i + shorttext.lengthshorttext.lengthif ( te ... E;\n\t\t\t}{\n\t\t\t\td ... E;\n\t\t\t}diffs[  ... DELETE;diffs[ 0 ][ 0 ]diffs[ 0 ]diffs[ 2 ][ 0 ]diffs[ 2 ]if ( sh ... \t];\n\t\t}shortte ... h === 1hm = th ... ext2 );hm = th ... text2 )this.diffHalfMatchif ( hm ...  );\n\t\t}{\n\t\t\t// ...  );\n\t\t}text1A = hm[ 0 ];text1A = hm[ 0 ]hm[ 0 ]text1B = hm[ 1 ];text1B = hm[ 1 ]hm[ 1 ]text2A = hm[ 2 ];text2A = hm[ 2 ]hm[ 2 ]text2B = hm[ 3 ];text2B = hm[ 3 ]hm[ 3 ]midCommon = hm[ 4 ];midCommon = hm[ 4 ]hm[ 4 ]diffsA  ... line );diffsA  ... dline )this.Di ... dline )this.DiffMaindiffsB  ... line );diffsB  ... dline )return  ... ffsB );diffsA. ... iffsB )diffsA.concat[ DIFF_ ... ommon ]checkli ... h > 100text1.length > 100text2.length > 100return  ... line );this.diffLineModethis.diffBisectDiffMat ...  ];\n\t};DiffMat ... n ];\n\t}DiffMat ... lfMatchfunctio ... n ];\n\t}{\n\t\tvar ... n ];\n\t}var lon ... m2, hm;if ( lo ... ss.\n\t\t}longtex ... .lengthlongtext.length < 4longtext.lengthshortte ... .lengthshorttext.length * 2{\n\t\t\tre ... ss.\n\t\t}dmp = this;dmp = thisvar see ... ttextB;seed =  ...  4 ) );seed =  ... / 4 ) )longtex ... / 4 ) )i + Mat ... h / 4 )Math.fl ... h / 4 )longtext.length / 4j = -1;j = -1bestCommon = "";bestCommon = ""( j = s ...  !== -1( j = s ... + 1 ) )j = sho ... j + 1 )shortte ... j + 1 )shorttext.indexOfj + 1{\n\t\t\t\tp ... \t}\n\t\t\t}prefixL ...  j ) );prefixL ... ( j ) )dmp.dif ... ( j ) )dmp.diffCommonPrefixlongtex ... ng( i )shortte ... ng( j )shorttext.substringsuffixL ...  j ) );suffixL ... , j ) )dmp.dif ... , j ) )dmp.diffCommonSuffixshortte ...  0, j )if ( be ... ;\n\t\t\t\t}bestCom ... xLengthbestCommon.lengthsuffixL ... xLengthbestCom ... ngth );bestCom ... ength )shortte ... ength )shortte ... th, j )j - suffixLengthj + prefixLengthbestLon ... ngth );bestLon ... ength )i - suffixLengthi + prefixLengthbestSho ... ngth );bestSho ... ength )if ( be ... l;\n\t\t\t}bestCom ... .lengthbestCom ... gth * 2[ bestL ... n\n\t\t\t\t]{\n\t\t\t\tr ... l;\n\t\t\t}hm1 = d ...  4 ) );hm1 = d ... / 4 ) )diffHal ... / 4 ) )Math.ce ... h / 4 )hm2 = d ...  2 ) );hm2 = d ... / 2 ) )diffHal ... / 2 ) )Math.ce ... h / 2 )longtext.length / 2if ( !h ... m2;\n\t\t}!hm1 && !hm2!hm1!hm2{\n\t\t\tre ... ll;\n\t\t}{\n\t\t\thm = hm1;\n\t\t}hm = hm1;hm = hm1{\n\t\t\thm = hm2;\n\t\t}hm = hm2;hm = hm2{\n\t\t\t// ... m2;\n\t\t}hm = hm ...  : hm2;hm = hm ... 1 : hm2hm1[ 4  ... 1 : hm2hm1[ 4  ... .lengthhm1[ 4 ].lengthhm1[ 4 ]hm2[ 4 ].lengthhm2[ 4 ]text1A, ... text2B;text1A, ...  text2Bif ( te ...  ];\n\t\t}{\n\t\t\tte ...  ];\n\t\t}text2A = hm[ 0 ];text2A = hm[ 0 ]text2B = hm[ 1 ];text2B = hm[ 1 ]text1A = hm[ 2 ];text1A = hm[ 2 ]text1B = hm[ 3 ];text1B = hm[ 3 ]return  ... mmon ];[ text1 ... ommon ]DiffMat ... ineModevar a,  ... ete, j;a = thi ... ext2 );a = thi ... text2 )this.di ... ToCharstext1 = a.chars1;text1 = a.chars1a.chars1text2 = a.chars2;text2 = a.chars2a.chars2linearr ... eArray;linearr ... neArraya.lineArraythis.di ... rray );this.di ... array )this.di ... ToLinesthis.di ... emanticdiffs.p ... "" ] );diffs.p ...  "" ] )[ DIFF_EQUAL, "" ]countDelete = 0;countDelete = 0countInsert = 0;countInsert = 0textDelete = "";textDelete = ""textInsert = "";textInsert = ""{\n\t\t\tsw ... ++;\n\t\t}countInsert++;countInsert++textIns ... ][ 1 ];textIns ...  ][ 1 ]countDelete++;countDelete++textDel ... ][ 1 ];textDel ...  ][ 1 ]if ( co ... ;\n\t\t\t\t}countDe ... rt >= 1countDelete >= 1countInsert >= 1diffs.s ... sert );diffs.s ... nsert )pointer ... tInsertpointer ... tDeletecountDe ... tInsertpointer ... Insert;a = thi ... line );a = thi ... dline )for ( j ... \n\t\t\t\t\t}j = a.length - 1a.length - 1diffs.s ...  j ] );diffs.s ... [ j ] )a[ j ]pointer ... length;pointer + a.lengthdiffs.pop();diffs.pop()diffs.popDiffMat ... \t];\n\t};DiffMat ... \t\t];\n\t}DiffMat ... fBisectfunctio ... \t\t];\n\t}{\n\t\tvar ... \t\t];\n\t}var tex ... k1, k2;text1Le ... length;text1Le ... .lengthtext2Le ... length;text2Le ... .lengthmaxD =  ...  / 2 );maxD =  ... ) / 2 )Math.ce ... ) / 2 )( text1 ... h ) / 2( text1 ... ength )text1Le ... 2LengthvOffset = maxD;vOffset = maxDvLength = 2 * maxD;vLength = 2 * maxD2 * maxDv1 = ne ... ngth );v1 = ne ... ength )new Array( vLength )v2 = ne ... ngth );v2 = ne ... ength )for ( x ... -1;\n\t\t}x < vLength{\n\t\t\tv1 ... -1;\n\t\t}v1[ x ] = -1;v1[ x ] = -1v1[ x ]v2[ x ] = -1;v2[ x ] = -1v2[ x ]v1[ vOf ...  ] = 0;v1[ vOf ... 1 ] = 0v1[ vOffset + 1 ]vOffset + 1v2[ vOf ...  ] = 0;v2[ vOf ... 1 ] = 0v2[ vOffset + 1 ]delta = ... Length;delta = ... 2Lengthfront = ... == 0 );front = ... !== 0 )( delta % 2 !== 0 )delta % 2 !== 0delta % 2k1start = 0;k1start = 0k1end = 0;k1end = 0k2start = 0;k2start = 0k2end = 0;k2end = 0for ( d ... \t\t}\n\t\t}d < maxDd++d = 0{\n\t\t\t// ... \t\t}\n\t\t}if ( (  ... k;\n\t\t\t}( new D ... eadline{\n\t\t\t\tbreak;\n\t\t\t}for ( k ... \t}\n\t\t\t}k1 <= d - k1endd - k1endk1 += 2k1 = -d + k1start-d + k1start-d{\n\t\t\t\tk ... \t}\n\t\t\t}k1Offse ... t + k1;k1Offse ... et + k1vOffset + k1if ( k1 ... ;\n\t\t\t\t}k1 ===  ... + 1 ] )k1 === -d( k1 != ... + 1 ] )k1 !==  ... t + 1 ]k1 !== dv1[ k1O ... t + 1 ]v1[ k1Offset - 1 ]k1Offset - 1v1[ k1Offset + 1 ]k1Offset + 1x1 = v1 ...  + 1 ];x1 = v1 ... t + 1 ]x1 = v1 ...  ] + 1;x1 = v1 ... 1 ] + 1v1[ k1O ... 1 ] + 1y1 = x1 - k1;y1 = x1 - k1x1 - k1while ( ... ;\n\t\t\t\t}x1 < te ... t( y1 )x1 < te ... 2Lengthx1 < text1Lengthy1 < text2Lengthtext1.c ... t( y1 )text1.charAt( x1 )text2.charAt( y1 )x1++;x1++y1++;y1++v1[ k1Offset ] = x1;v1[ k1Offset ] = x1v1[ k1Offset ]if ( x1 ... }\n\t\t\t\t}x1 > text1Lengthk1end += 2;k1end += 2if ( y1 ... }\n\t\t\t\t}y1 > text2Lengthk1start += 2;k1start += 2if ( fr ... }\n\t\t\t\t}k2Offse ... a - k1;k2Offse ... ta - k1vOffset + delta - k1vOffset + deltaif ( k2 ... \n\t\t\t\t\t}k2Offse ...  !== -1k2Offse ... vLengthk2Offset >= 0k2Offset < vLengthv2[ k2O ...  !== -1v2[ k2Offset ]x2 = te ... fset ];x2 = te ... ffset ]text1Le ... ffset ]if ( x1 ... \t\t\t\t\t\t}x1 >= x2this.diffBisectSplitk2 <= d - k2endd - k2endk2 += 2k2 = -d + k2start-d + k2startk2Offse ... t + k2;k2Offse ... et + k2vOffset + k2if ( k2 ... ;\n\t\t\t\t}k2 ===  ... + 1 ] )k2 === -d( k2 != ... + 1 ] )k2 !==  ... t + 1 ]k2 !== dv2[ k2O ... t + 1 ]v2[ k2Offset - 1 ]k2Offset - 1v2[ k2Offset + 1 ]k2Offset + 1x2 = v2 ...  + 1 ];x2 = v2 ... t + 1 ]x2 = v2 ...  ] + 1;x2 = v2 ... 1 ] + 1v2[ k2O ... 1 ] + 1y2 = x2 - k2;y2 = x2 - k2x2 - k2x2 < te ... 2 - 1 )x2 < te ... 2Lengthx2 < text1Lengthy2 < text2Lengthtext1.c ... 2 - 1 )text1Length - x2 - 1text1Length - x2text2.c ... 2 - 1 )text2Length - y2 - 1text2Length - y2x2++;x2++y2++;y2++v2[ k2Offset ] = x2;v2[ k2Offset ] = x2if ( x2 ... }\n\t\t\t\t}x2 > text1Lengthk2end += 2;k2end += 2if ( y2 ... }\n\t\t\t\t}y2 > text2Lengthk2start += 2;k2start += 2if ( !f ... }\n\t\t\t\t}!frontk1Offse ... a - k2;k1Offse ... ta - k2vOffset + delta - k2if ( k1 ... \n\t\t\t\t\t}k1Offse ...  !== -1k1Offse ... vLengthk1Offset >= 0k1Offset < vLengthv1[ k1O ...  !== -1x1 = v1[ k1Offset ];x1 = v1[ k1Offset ]y1 = vO ... Offset;y1 = vO ... 1OffsetvOffset ... 1OffsetvOffset + x1x2 = te ... h - x2;x2 = te ... th - x2return  ...  ]\n\t\t];[\n\t\t\t[  ... 2 ]\n\t\t]DiffMat ... b );\n\t}DiffMat ... ctSplitfunctio ... b );\n\t}{\n\t\tvar ... b );\n\t}var tex ... diffsb;text1a  ... 0, x );text1a  ...  0, x )text1.s ...  0, x )text2a  ... 0, y );text2a  ...  0, y )text2.s ...  0, y )text1b  ... g( x );text1b  ... ng( x )text1.substring( x )text2b  ... g( y );text2b  ... ng( y )text2.substring( y )diffsb  ... line );diffsb  ... dline )return  ... ffsb );diffs.c ... iffsb )diffs.concatDiffMat ... emanticvar cha ... ength2;lengthI ... s1 = 0;lengthI ... ns1 = 0lengthD ... s1 = 0;lengthDeletions1 = 0lengthI ... s2 = 0;lengthI ... ns2 = 0lengthD ... s2 = 0;lengthDeletions2 = 0{\n\t\t\tif ... ++;\n\t\t}{ // Eq ... ];\n\t\t\t}lengthI ... tions2;lengthI ... rtions2lengthD ... tions2;lengthD ... etions2{ // An ... \t}\n\t\t\t}lengthI ... length;lengthI ... .lengthlengthD ... length;lengthD ... .lengthlastequ ... ns2 ) )lastequ ... ns1 ) )( laste ... ns1 ) )lastequ ... ions1 )Math.ma ... ions1 )( laste ... ns2 ) )lastequ ... ions2 )Math.ma ... ions2 )pointer = 1;pointer = 1if ( di ... +;\n\t\t\t}diffs[ pointer - 1 ]pointer - 1{\n\t\t\t\td ... +;\n\t\t\t}deletio ... ][ 1 ];deletio ...  ][ 1 ]inserti ... ][ 1 ];inserti ...  ][ 1 ]overlap ... tion );overlap ... rtion )this.di ... rtion )this.di ... Overlapoverlap ... etion )this.di ... etion )if ( ov ... }\n\t\t\t\t}overlap ... Length2if ( ov ... \n\t\t\t\t\t}overlap ... gth / 2deletion.length / 2deletion.lengthinsertion.length / 2insertion.lengthdiffs.s ... \t\t\t\t\t\t)[ DIFF_ ... th1 ) ]inserti ... ngth1 )insertion.substringdiffs[  ... gth1 );diffs[  ... ngth1 )deletio ... ngth1 )deletion.substringdeletio ... Length1diffs[ pointer + 1 ]pointer + 1[ DIFF_ ... th2 ) ]deletio ... ngth2 )diffs[  ... gth2 );diffs[  ... ngth2 )inserti ... ngth2 )inserti ... Length2DiffMat ... Overlapvar tex ...  found;if ( te ...  0;\n\t\t}text1Le ... h === 0text1Length === 0text2Length === 0{\n\t\t\tte ...  );\n\t\t}textLen ... ngth );textLen ... ength )if ( te ... th;\n\t\t}{\n\t\t\tre ... th;\n\t\t}return textLength;best = 0;best = 0length = 1;length = 1while ( ... \t\t}\n\t\t}pattern ... ngth );pattern ... ength )textLength - lengthfound = ... tern );found = ... ttern )text2.i ... ttern )text2.indexOfif ( fo ... t;\n\t\t\t}found === -1{\n\t\t\t\tr ... t;\n\t\t\t}return best;length += found;length += foundif ( fo ... +;\n\t\t\t}found = ... ength )found === 0best = length;best = lengthlength++;length++DiffMat ... \t};\n\t};DiffMat ... \t\t};\n\t}DiffMat ... ToCharsvar lin ... chars2;lineArray = [];lineArray = []lineHash = {};lineHash = {}lineArray[ 0 ] = "";lineArray[ 0 ] = ""lineArray[ 0 ]functio ... rs;\n\t\t}diffLin ... rsMunge{\n\t\t\tva ... rs;\n\t\t}var cha ... , line;chars = "";chars = ""lineStart = 0;lineStart = 0lineEnd = -1;lineEnd = -1lineArr ... length;lineArr ... .lengthlineArray.lengthlineEnd ... gth - 1text.length - 1text.lengthlineEnd ... tart );lineEnd ... Start )text.in ... Start )text.indexOfif ( li ... ;\n\t\t\t\t}lineEnd === -1lineEnd ... th - 1;line =  ...  + 1 );line =  ... d + 1 )text.su ... d + 1 )text.substringlineEnd + 1lineSta ... nd + 1;lineSta ... End + 1lineHas ... fined )lineHas ... ropertylineHas ...  line )( lineH ... fined )lineHas ... definedlineHash[ line ]chars + ... ne ] );chars + ... ine ] )String. ... ine ] )chars + ... ngth );chars + ... ength )String. ... ength )lineHas ... Length;lineHas ... yLengthlineArr ... = line;lineArr ...  = linelineArr ... gth++ ]lineArrayLength++return chars;chars1  ... ext1 );chars1  ... text1 )diffLin ... text1 )chars2  ... ext2 );chars2  ... text2 )diffLin ... text2 )return  ... ay\n\t\t};{\n\t\t\tch ... ray\n\t\t}chars1: chars1chars2: chars2lineArray: lineArrayDiffMat ... ToLinesvar x,  ... ext, y;for ( x ...  );\n\t\t}{\n\t\t\tch ...  );\n\t\t}chars = ... ][ 1 ];chars = ...  ][ 1 ]text = [];text = []for ( y ... ];\n\t\t\t}y < chars.lengthy++y = 0text[ y ...  y ) ];text[ y ... ( y ) ]text[ y ]lineArr ... ( y ) ]chars.c ... At( y )chars.charCodeAtdiffs[  ... ( "" );diffs[  ... n( "" )text.join( "" )text.joinDiffMat ... upMergevar poi ... sition;commonlength;{\n\t\t\tsw ... \t\t}\n\t\t}countDe ... ert > 1if ( co ... \n\t\t\t\t\t}countDe ... t !== 0countDelete !== 0countInsert !== 0commonl ... lete );commonl ... elete )this.di ... elete )if ( co ... \t\t\t\t\t\t}commonlength !== 0if ( (  ... \t\t\t\t\t\t}( point ... F_EQUAL( point ... t ) > 0( point ... nsert )diffs[  ... t - 1 ]pointer ... ert - 1diffs[  ... ngth );diffs[  ... ength )textIns ... ength )textInsert.substringdiffs.s ... \t\t\t] );diffs.s ... \t\t\t\t] )[ DIFF_ ... \t\t\t\t\t\t]textIns ... ngth );textDel ... ngth );textDel ... ength )textDelete.substringdiffs[  ... ][ 1 ];textIns ... nlengthtextInsert.lengthtextDel ... nlengthtextDelete.lengthcountDelete === 0diffs.s ... rt ] );diffs.s ... ert ] )[ DIFF_ ... nsert ]countInsert === 0diffs.s ... te ] );diffs.s ... ete ] )[ DIFF_ ... elete ]pointer ...  ) + 1;pointer ... 0 ) + 1pointer ... 1 : 0 )( count ... 1 : 0 )countDelete ? 1 : 0countInsert ? 1 : 0if ( po ... ;\n\t\t\t\t}pointer ... F_EQUALpointer !== 0diffs.s ... r, 1 );diffs.s ... er, 1 )if ( di ... nd.\n\t\t}diffs[  ...  === ""diffs[  ... h - 1 ]diffs.length - 1{\n\t\t\tdi ... nd.\n\t\t}pointer ... gth - 1diffPoi ... ][ 1 ];diffPoi ...  ][ 1 ]positio ... \n\t\t\t\t);positio ... h\n\t\t\t\t)diffPoi ... h\n\t\t\t\t)diffPoi ... bstringdiffPoi ... .lengthdiffPointer.lengthpositio ...  ][ 1 ]diffs[  ... bstringdiffs.s ... 1, 1 );diffs.s ...  1, 1 )diffPoi ... ength )return  ... xt;\n\t};functio ... ext;\n\t}{\n\t\tvar ... ext;\n\t}var dif ... , text;diff =  ... atch();diff =  ... Patch()new DiffMatchPatch()output  ... o, n );output  ...  o, n )diff.Di ...  o, n )diff.DiffMaindiff.di ... tput );diff.di ... utput )diff.di ... iciencytext =  ... tput );text =  ... utput )diff.diffPrettyHtmlreturn text;(functi ... s;\n})()(functi ... his;\n})functio ... this;\n}{\n\treturn this;\n}(functi ... ;\n}\n\n})functio ... e;\n}\n\n}{\n\n// D ... e;\n}\n\n}if ( ty ... turn;\n}typeof  ... ocument!window.document{\n\treturn;\n}QUnit.i ... ;\n\t}\n};QUnit.i ... ";\n\t}\n}QUnit.init{\n\tvar  ... ";\n\t}\n}var tes ... config;config  ... .configconfig. ... d: 0 };config. ... ad: 0 }config.started = 0;config.started = 0config. ... = 1000;config. ...  = 1000config.filter = "";config.filter = ""config.queue = [];config.queue = []if ( ty ... urn;\n\t}qunit = ... nit" );qunit = ... unit" )id( "qunit" )if ( qu ... l>";\n\t}{\n\t\tqun ... l>";\n\t}qunit.i ... </ol>";qunit.i ... ></ol>"qunit.innerHTML"<h1 id ... ></ol>""<h1 id ... ></h2>""<h1 id ... </div>""<h1 id ... "</h1>""<h1 id ... title )"<h1 id ... ader'>"<h1 id='qunit-header'>escapeT ... title )</h1>"<h2 id ... ></h2>"<h2 id='qunit-banner'></h2>"<div i ... </div>"<div id='qunit-testrunner-toolbar'></div><h2 id='qunit-userAgent'></h2>"<ol id ... ></ol>"<ol id='qunit-tests'></ol>tests = ... sts" );tests = ... ests" )id( "qunit-tests" )qunit-testsbanner  ... ner" );banner  ... nner" )id( "qunit-banner" )qunit-bannerresult  ... ult" );result  ... sult" )id( "qu ... sult" )qunit-testresultif ( te ...  "";\n\t}{\n\t\ttes ...  "";\n\t}tests.i ... L = "";tests.innerHTML = ""tests.innerHTMLif ( ba ...  "";\n\t}{\n\t\tban ...  "";\n\t}banner. ... e = "";banner. ... me = ""banner.classNameif ( re ... t );\n\t}{\n\t\tres ... t );\n\t}result. ... sult );result. ... esult )result. ... veChildresult.parentNodeif ( te ... 0;";\n\t}{\n\t\tres ... 0;";\n\t}result  ...  "p" );result  ... ( "p" )documen ... ( "p" )result. ... esult";result. ... result"result.classNametests.p ... ests );tests.p ... tests )tests.p ... tBeforetests.parentNoderesult. ... #160;";result. ... &#160;"result.innerHTML"Runnin ... &#160;"Running...<br />&#160;Running<br />&#160;var con ... t = [];collapseNext = falsedefined ... }())\n\t}{\n\t\tdoc ... }())\n\t}session ... \n\t\t}())(functi ... \n\t\t}())functio ... }\n\t\t}()try {\n\t ... e;\n\t\t\t}catch ( ... e;\n\t\t\t}modulesList = []{\n\tif ( ... \n\t});\n}if ( !s ...  "";\n\t}!s{\n\t\treturn "";\n\t}s = s + "";s = s + ""s + ""return  ... \t}\n\t});s.repla ... \t\t}\n\t})s.replace['"<>&]{\n\t\tswi ... \n\t\t}\n\t}switch  ... ;";\n\t\t}case "' ... #039;";return "&#039;";&#039;case "\ ... quot;";return "&quot;";&quot;case "< ... "&lt;";return "&lt;";case "> ... "&gt;";return "&gt;";case "& ... &amp;";return "&amp;";&amp;{\n\tif ( ... );\n\t}\n}if ( el ... \t});\n\t}elem.ad ... istener{\n\n\t\t// ... e );\n\t}elem.ad ... alse );elem.ad ... false )elem.attachEventelem.at ... ;\n\t\t});elem.at ... );\n\t\t})"on" + typevar eve ... .event;event = window.eventwindow.eventif ( !e ... t;\n\t\t\t}!event.targetevent.target{\n\t\t\t\te ... t;\n\t\t\t}event.t ... cument;event.t ... ocumentevent.s ... ocumentevent.srcElementfn.call ... vent );fn.call ... event )fn.calli = elems.lengthelems.lengthwhile ( ... n );\n\t}{\n\t\tadd ... n );\n\t}addEven ... , fn );addEven ... e, fn )elems[ i ]functio ... >= 0;\n}{\n\tretu ... >= 0;\n}return  ... ) >= 0;( " " + ...  ) >= 0( " " + ... + " " )( " " + ... indexOf" " + e ... e + " "" " + elem.classNameelem.className" " + name + " "{\n\tif ( ... e;\n\t}\n}if ( !h ... ame;\n\t}!hasCla ...  name )hasClas ...  name ){\n\t\tele ... ame;\n\t}elem.cl ... + name;elem.cl ...  + name( elem. ...  + name( elem. ...  : "" )elem.cl ...  " : ""if ( ha ... e );\n\t}{\n\t\trem ... e );\n\t}removeC ... name );removeC ...  name ){\n\t\tadd ... e );\n\t}addClas ... name );addClas ...  name )functio ... "" );\n}{\n\tvar  ... "" );\n}var set ...  + " ";set = " ... e + " "while ( ... " );\n\t}set.ind ...  ) >= 0set.ind ... + " " )set.indexOf{\n\t\tset ... " );\n\t}set = s ...  " " );set = s ... , " " )set.rep ... , " " )set.replaceelem.cl ... , "" );elem.cl ... g, "" )typeof  ... g, "" )typeof set.trimset.trimset.trim()set.rep ... g, "" )functio ... me );\n}{\n\tretu ... me );\n}return  ... name );defined ...  name )documen ...  name )functio ... Html;\n}{\n\tvar  ... Html;\n}var i,  ... l = "";selection = falselen = c ... .lengthconfig.urlConfigurlConfigHtml = ""{\n\t\tval ... \n\t\t}\n\t}val = c ... g[ i ];val = c ... ig[ i ]config. ... ig[ i ]if ( ty ... \t};\n\t\t}{\n\t\t\tva ... \t};\n\t\t}val = { ... l\n\t\t\t};val = { ... al\n\t\t\t}{\n\t\t\t\ti ... al\n\t\t\t}id: vallabel: valescaped ... l.id );escaped ... al.id )escapeText( val.id )val.idescaped ... ltip );escaped ... oltip )escapeT ... oltip )val.tooltipif ( co ...  ];\n\t\t}config[ ... definedconfig[ val.id ]{\n\t\t\tco ...  ];\n\t\t}config[ ... l.id ];config[ ... al.id ]QUnit.u ... al.id ]if ( !v ... >";\n\t\t}!val.va ... string"!val.valueval.valuetypeof val.value{\n\t\t\tur ... >";\n\t\t}urlConf ... abel>";urlConf ... label>""<input ... label>""<input ... l.label"<input ...  + "'>""<input ... Tooltip"<input ... itle='""<input ... escaped"<input ... onfig-""<input ...  : "" )"<input ... ckbox'""<input ... name='"<input id='qunit-urlconfig-' name='' type='checkbox'( val.v ...  : "" )val.val ... '" : """ value ... ) + "'"" value ... value ) value='escapeT ... value )( confi ...  : "" )config[ ... '" : "" checked='checked' title='"' /><l ... onfig-"' /><label for='qunit-urlconfig-' title=''>val.labelurlConf ... tion>";urlConf ... ption>""<label ... ption>""<label ... Tooltip"<label ... itle='""<label ... escaped"<label ... name='""<label ... onfig-""<label ... l.label"<label ...  + "'>"<label for='qunit-urlconfig-": </la ... onfig-": </label><select id='qunit-urlconfig-"'><opt ... ption>"'><option></option>if ( QU ... \t}\n\t\t\t}QUnit.i ... value ){\n\t\t\t\tf ... \t}\n\t\t\t}for ( j ... ;\n\t\t\t\t}j < val.value.lengthval.value.lengthescaped ...  j ] );escaped ... [ j ] )escapeT ... [ j ] )val.value[ j ]"<optio ... ption>""<optio ... escaped"<optio ... \t\t\t\t">""<optio ...  : "" )"<optio ... d + "'"<option value='config[ ... ue[ j ]( selec ... ected'"( selection = true )selection = true" selec ... ected'" selected='selected'</option>if ( ha ... \n\t\t\t\t\t}hasOwn. ... ue, j )"<optio ... [ j ] )"<optio ... ) + "'""<optio ... xt( j )escapeText( j )config[ ... ] === jif ( co ... ";\n\t\t\t}config[ ... lection!selection{\n\t\t\t\te ... ";\n\t\t\t}escaped ... id ] );escaped ... .id ] )escapeT ... .id ] )"<optio ... bled'>""' sele ... bled'>"' selected='selected' disabled='disabled'>urlConf ... lect>";urlConf ... elect>"</select>return  ... igHtml;functio ... l;\n\t}\n}{\n\tvar  ... l;\n\t}\n}var upd ... s = {};field = thisparams = {}if ( "s ... ned;\n\t}"select ... n field{\n\t\tval ... ned;\n\t}value = ... efined;value = ... definedfield.o ... definedfield.o ... ].valuefield.o ... Index ]field.optionsfield.selectedIndexfield.c ... definedfield.checked( field ...  true )field.d ... || truefield.defaultValueparams[ ...  value;params[ ... = valueparams[ field.name ]field.nameupdated ... rams );updated ... arams )setUrl( params )if ( "h ... Url;\n\t}"hidepa ... history"hidepa ... ld.name"replac ... historywindow.history{\n\t\tcon ... l );\n\t}config[ ...  false;config[ ... | falseconfig[ field.name ]value || falseif ( va ...  );\n\t\t}{\n\t\t\tad ...  );\n\t\t}addClas ... ass" );addClas ... pass" )hidepassremoveC ... ass" );removeC ... pass" )window. ... dUrl );window. ... edUrl )window. ... ceState{\n\t\twin ... Url;\n\t}window. ... tedUrl;window. ... atedUrlfunctio ... -1 );\n}{\n\tvar  ... -1 );\n}var key ...  = "?";querystring = "?"params  ... rams );params  ... arams )QUnit.e ... arams )QUnit.extendif ( ha ... &";\n\t\t}{\n\t\t\tif ... &";\n\t\t}if ( pa ... e;\n\t\t\t}params[ ... definedparams[ key ]{\n\t\t\t\tcontinue;\n\t\t\t}queryst ...  key );queryst ... ( key )encodeU ... ( key )if ( pa ... );\n\t\t\t}params[ ... == true{\n\t\t\t\tq ... );\n\t\t\t}queryst ... ey ] );queryst ... key ] )"=" + e ... key ] )encodeU ... key ] )querystring += "&";querystring += "&"return  ... , -1 );locatio ... 0, -1 )locatio ... athnamelocatio ... on.hostlocatio ...  + "//"location.protocollocation.hostlocation.pathnamequeryst ... 0, -1 )querystring.slicevar sel ... .value;modules ... lter" )id( "qu ... lter" )qunit-modulefilterfilter  ... ).valueid( "qu ... ).valueid( "qu ... nput" )qunit-filter-inputselecte ... efined;selecte ... definedmodules ... defineddecodeU ... value )modules ... ].valuemodules ... Index ]modulesList.optionsmodules ... edIndexwindow. ... ed\n\t});window. ... ned\n\t})setUrl( ... ned\n\t}){\n\t\tmod ... ined\n\t}module: ... dModule( selec ... dModule( selec ... == "" )selecte ...  === ""filter: ...  filter( filte ...  filter( filter === "" )filter === ""testId: undefinedtoolbar ... ntainer{\n\tvar  ... iner;\n}var url ... pan" );urlConf ... span" )documen ... span" )urlConf ... Html();urlConf ... gHtml()urlConf ... nerHTMLgetUrlConfigHtml()addClas ... fig" );addClas ... nfig" )qunit-url-configaddEven ... nged );addEven ... anged )urlConf ... nput" )urlConf ... TagNameurlConf ... lect" )return  ... tainer;functio ... lter;\n}{\n\tvar  ... lter;\n}var fil ... ton" );filter  ... form" )documen ... form" )label = ... abel" )documen ... abel" )input = ... nput" )documen ... nput" )button  ... tton" )documen ... tton" )addClas ... ter" );addClas ... lter" )qunit-filterlabel.i ... ter: ";label.i ... lter: "label.innerHTMLFilter: input.type = "text";input.type = "text"input.typeinput.v ...  || "";input.v ... r || ""input.valueconfig.filter || ""input.n ... ilter";input.n ... filter"input.nameinput.i ... input";input.i ... -input"input.idbutton. ... = "Go";button. ...  = "Go"button.innerHTMLGolabel.a ... nput );label.a ... input )label.appendChildfilter. ... abel );filter. ... label )filter.appendChildfilter. ... tton );filter. ... utton )addEven ... e;\n\t});addEven ... se;\n\t}){\n\t\tapp ... lse;\n\t}applyUrlParams();applyUrlParams()if ( ev ... ();\n\t\t}ev && e ... Defaultev.preventDefault{\n\t\t\tev ... ();\n\t\t}ev.preventDefault();ev.preventDefault()return filter;toolbar ... terHtmlvar i,\n ... l = "";moduleF ... ml = ""if ( !m ... lse;\n\t}!modulesList.lengthmodulesList.length{\n\t\treturn false;\n\t}modules ... );\n\t});modules ...  );\n\t})modulesList.sort{\n\t\tret ... b );\n\t}return  ... e( b );a.localeCompare( b )a.localeComparemoduleF ... tion>";moduleF ... ption>""<label ...  : "" )"<label ... ue='' ""<label ... label>"<label for='qunit-modulefilter'>Module: </label>"<selec ... ue='' "<select id='qunit-modulefilter' name='modulefilter'><option value='' ( QUnit ...  : "" )QUnit.u ... '" : ""QUnit.u ... defined"select ... ected'"selected='selected'">< All ... ption>">< All Modules ></option>for ( i ... n>";\n\t}i < mod ... .length{\n\t\tmod ... n>";\n\t}"<optio ... [ i ] )"<optio ... \n\t\t\t">""<optio ...  + "' ""<optio ... i ] ) )escapeT ... i ] ) )encodeU ... [ i ] )modulesList[ i ]' QUnit.u ... st[ i ]escapeT ... [ i ] )moduleF ... lect>";moduleF ... elect>"return  ... erHtml;functio ... er );\n}{\n\tvar  ... er );\n}var too ... Html();toolbar ... lbar" )id( "qu ... lbar" )"qunit- ... oolbar"qunit-testrunner-toolbarmoduleF ... span" )moduleF ... rHtml()toolbar ... rHtml()if ( !t ... lse;\n\t}!toolba ... terHtml!toolbar!moduleFilterHtmlmoduleF ... ner" );moduleF ... iner" )moduleF ... tribute"qunit- ... tainer"qunit-modulefilter-containermoduleF ... erHtml;moduleF ... terHtmlmoduleF ... nerHTMLaddEven ... rams );addEven ... arams )moduleF ... stChildtoolbar ... lter );toolbar ... ilter )toolbar.appendChildvar too ... bar" );if ( to ... ) );\n\t}{\n\t\ttoo ... ) );\n\t}toolbar ... er() );toolbar ... ner() )toolbar ... ainer()toolbar ... ter() )toolbarLooseFilter()var hea ... der" );header  ... ader" )id( "qunit-header" )qunit-headerif ( he ... > ";\n\t}{\n\t\thea ... > ";\n\t}header. ... </a> ";header. ... "</a> "header.innerHTML"<a hre ... "</a> ""<a hre ... nerHTML"<a hre ... \t\t\t"'>""<a hre ... d } ) )<a href='escapeT ... d } ) )setUrl( ... ned } ){ filte ... fined }filter: undefinedmodule: undefinedvar ban ... ner" );var tes ... ult" );{\n\t\ttes ... 0;";\n\t}functio ... L;\n\t}\n}{\n\tvar  ... L;\n\t}\n}id( "qu ... ture" )if ( fi ... TML;\n\t}{\n\t\tcon ... TML;\n\t}config. ... erHTML;config. ... nerHTMLfunctio ... iv>";\n}{\n\tvar  ... iv>";\n}var tes ... testId;testId  ... .testIdQUnit.config.testIdif ( !t ...  "";\n\t}!testId ... th <= 0!testIdtestId.length <= 0testId.lengthreturn  ... /div>";"<div i ...  tests""<div i ... \n\t\t"'>""<div i ... d } ) )"<div i ... href='""<div i ... ", ") )"<div i ... ests: "<div id='qunit-filteredTest'>Rerunning selected tests: escapeT ... ", ") )testId.join(", ")testId.join" <a id ... href='" <a id='qunit-clearFilter' href='Run all tests</a></div>var use ... ent" );userAge ... gent" )id( "qu ... gent" )qunit-userAgentif ( us ... \t\t);\n\t}{\n\t\tuse ... \t\t);\n\t}userAge ... L = "";userAge ... ML = ""userAgent.innerHTMLuserAge ... \t)\n\t\t);userAge ... \t\t)\n\t\t)userAge ... ndChilddocumen ... nt\n\t\t\t)"QUnit  ... erAgent"QUnit  ...  + "; ""QUnit  ... versionQUnit ; var i,  ... uleObj;l = modules.lengthmodules.length{\n\t\tmod ... \n\t\t}\n\t}moduleO ... s[ i ];moduleO ... es[ i ]modules[ i ]if ( mo ...  );\n\t\t}moduleObj.name{\n\t\t\tmo ...  );\n\t\t}modules ... name );modules ... .name )modulesList.pushx < zx = 0,  ... .lengthz = mod ... .lengthmoduleO ... .lengthmoduleObj.teststest =  ... s[ x ];test =  ... ts[ x ]moduleObj.tests[ x ]appendT ... name );appendT ... .name )test.nametest.testIdfunctio ... ck );\n}{\n\tvar  ... ck );\n}var tit ... sts" );if ( !t ... urn;\n\t}!teststitle = ... ong" );title = ... rong" )documen ... rong" )title.i ... Name );title.i ... eName )title.innerHTMLgetName ... eName )rerunTr ...  "a" );rerunTr ... ( "a" )documen ... ( "a" )rerunTr ... Rerun";rerunTr ... "Rerun"rerunTr ... nerHTMLRerunrerunTr ... tId });rerunTr ... stId })rerunTrigger.hrefsetUrl( ... stId }){ testId: testId }testId: testIdtestBlo ... "li" );testBlo ...  "li" )documen ...  "li" )testBlo ... itle );testBlo ... title )testBlo ... ndChildtestBlo ... gger );testBlo ... igger )testBlo ... testId;testBlo ...  testIdtestBlock.id"qunit- ...  testIdqunit-test-output-assertL ... "ol" );assertL ...  "ol" )documen ...  "ol" )assertL ... -list";assertL ... t-list"assertList.classNamequnit-assert-listtestBlo ... List );testBlo ... tList )tests.a ... lock );tests.a ... Block )tests.appendChildQUnit.b ... \n\t}\n});QUnit.b ... ;\n\t}\n})var qun ... nit" );storeFixture();storeFixture()"<h1 id ... dTest()appendFilteredTest()appendHeader();appendHeader()appendBanner();appendBanner()appendTestResults();appendTestResults()appendUserAgent();appendUserAgent()appendToolbar();appendToolbar()appendT ... ules );appendT ... dules )details.modulestoolbar ... lter();toolbar ... ilter()if ( qu ... " );\n\t}qunit & ... epassedconfig.hidepassed{\n\t\tadd ... " );\n\t}qunit.lastChildQUnit.d ... \n\t}\n});QUnit.d ... ;\n\t}\n})var i,  ... ( "" );html =  ... n( "" )[\n\t\t\t"T ... n( "" )[\n\t\t\t"T ... \t].join[\n\t\t\t"T ... d."\n\t\t]"Tests  ... ed in "Tests completed in details.runtime" milli ... <br />" milliseconds.<br /> milliseconds"<span  ... ssed'>"<span class='passed'>details.passed"</span ... otal'>"</span> assertions of <span class='total'>details.total"</span ... iled'>"</span> passed, <span class='failed'>details.failed</span> failed.</span> failedif ( ba ... ss";\n\t}{\n\t\tban ... ss";\n\t}banner. ... -pass";banner. ... t-pass"details ... t-pass"qunit-failqunit-passif ( te ... tml;\n\t}{\n\t\tid( ... tml;\n\t}id( "qu ... = html;id( "qu ...  = htmlid( "qu ... nerHTMLif ( co ... " );\n\t}config. ... t.titleconfig. ... ocumentconfig.altertitle{\n\n\t\t// ... " );\n\t}documen ...  " " );documen ... ( " " )[\n\t\t\t(  ... ( " " )[\n\t\t\t(  ... \t].join[\n\t\t\t(  ... " )\n\t\t]( detai ... 2714" )details ... \u2714"✖✔documen ... i, "" )documen ... replace^[\u2714\u2716] [\u2714\u2716]\u2714\u2716config. ... d === 0config. ... Storageconfig.reorderdetails.failed === 0i < ses ... .lengthsession ... .length{\n\t\t\tke ... \t\t}\n\t\t}key = s ...  i++ );key = s ... ( i++ )session ... ( i++ )sessionStorage.keyif ( ke ... );\n\t\t\t}key.ind ... ) === 0key.ind ... est-" )key.indexOfsession ...  key );session ... ( key )if ( co ... 0 );\n\t}config. ... crollToconfig.scrolltop{\n\t\twin ... 0 );\n\t}window. ... 0, 0 );window. ...  0, 0 )var nameHtml = "";nameHtml = ""if ( mo ... : ";\n\t}{\n\t\tnam ... : ";\n\t}nameHtm ... an>: ";nameHtm ... pan>: ""<span  ... pan>: ""<span  ... odule )"<span  ... name'>"<span class='module-name'>escapeText( module )</span>: nameHtm ... span>";nameHtm ... /span>""<span  ... /span>""<span  ...  name )<span class='test-name'>escapeText( name )return nameHtml;QUnit.t ... \t}\n\n});QUnit.t ... \n\t}\n\n})functio ... ;\n\t}\n\n}{\n\tvar  ... ;\n\t}\n\n}var run ... k, bad;testBlo ... stId );testBlo ... estId )id( "qu ... estId )"qunit- ... .testIddetails.testIdif ( te ... e );\n\t}{\n\t\ttes ... ng";\n\t}testBlo ... nning";testBlo ... unning"testBlock.classNameappendT ... dule );appendT ... odule )details.modulerunning ... ult" );running ... sult" )if ( ru ... e );\n\t}{\n\t\tbad ... e );\n\t}bad = Q ... name );bad = Q ... .name )QUnit.c ... .name )+sessio ... .name )session ... .name )"qunit- ... ls.name"qunit- ... .modulerunning ... dule );running ... odule )running.innerHTML( bad ? ... odule )( bad ? ... r />" )bad ?\n\t ... <br />""Rerunn ... <br />"Rerunning previously failed test: <br />Running: <br />getName ... odule )functio ...  "");\n}{\n\t// s ...  "");\n}return  ... g, "");string. ... /g, "")<\/?[^>]+(>|$)[^>]+[^>](>|$)>|$\&quot;\&quot;QUnit.l ...  );\n});QUnit.l ... i );\n})functio ... Li );\n}{\n\tvar  ... Li );\n}var ass ... stId );showDiff = falsetestIte ... estId )!testItemmessage ... led" );message ... iled" )escapeT ... iled" )escapeT ... ssage )details.message( detai ... iled" )details ... failed"message ... span>";message ... /span>""<span  ... message"<span  ... sage'>"<span class='test-message'>"<span  ... runtime"<span  ... me'>@ "<span class='runtime'>@  ms</span>if ( !d ... e>";\n\t}!detail ... cted" )hasOwn. ... cted" ){\n\t\tif  ... race\n\t}if ( de ...  );\n\t\t}details.negative{\n\t\t\tex ...  );\n\t\t}expecte ... ed ) );expecte ... ted ) )escapeT ... ted ) )"NOT "  ... ected )NOT QUnit.d ... ected )actual  ... al ) );actual  ... ual ) )escapeT ... ual ) )QUnit.d ... ctual )message ... </tr>";message ... ></tr>""<table ... ></tr>""<table ... xpected"<table ... ><pre>"<table><tr class='test-expected'><th>Expected: </th><td><pre></pre></td></tr>if ( ac ... >";\n\t\t}actual !== expected{\n\n\t\t\tm ... \t\t}\n\t\t}"<tr cl ... ></tr>""<tr cl ... \tactual"<tr cl ... ><pre>"<tr class='test-actual'><th>Result: </th><td><pre>if ( !( ... h;\n\t\t\t}!( /^(t ... ted ) )!( /^(t ... ual ) )( /^(tr ... ual ) )/^(true ... ctual )/^(true ... $/.test^(true|false)$(true|false)true|false( /^(tr ... ted ) )/^(true ... ected ){\n\t\t\t\td ... h;\n\t\t\t}diff =  ... tual );diff =  ... ctual )showDif ... length;showDif ... .lengthstripHt ... .lengthstripHtml( diff )stripHt ... ected )stripHtml( actual )if ( sh ... ";\n\t\t\t}{\n\t\t\t\tm ... ";\n\t\t\t}"<tr cl ... \t\t\tdiff<tr class='test-diff'><th>Diff: </th><td><pre>if ( ex ... >";\n\t\t}expecte ...  !== -1expecte ... ray]" )expected.indexOfexpecte ... ect]" ){\n\t\t\tme ... >";\n\t\t}"<tr cl ...  + "'>""<tr cl ... 1 } ) )"<tr cl ... href='""<tr cl ... e> to ""<tr cl ... axDepth"<tr cl ... epth (""<tr cl ... h><td>"<tr class='test-message'><th>Message: </th><td>"Diff s ... epth ("Diff suppressed as the depth of object is more than current max depth (").<p>H ... e> to ").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to " run w ... href='" run with a higher max depth or <a href='escapeT ... 1 } ) )setUrl( ...  -1 } ){ maxDepth: -1 }maxDepth: -1"Rerun< ... ></tr>"Rerun</a> without max depth.</p></td></tr>Rerun</a> without max depth</p></td></tr>if ( de ... >";\n\t\t}"<tr cl ... ource )<tr class='test-source'><th>Source: </th><td><pre>escapeT ... ource )message ... able>";message ... table>"</table>!detail ... .source{\n\t\tmes ... e>";\n\t}"<table ... table>""<table ... ource )<table>assertL ... )[ 0 ];assertL ...  )[ 0 ]testIte ...  )[ 0 ]testIte ...  "ol" )testIte ... TagNameassertL ... "li" );assertL ...  "li" )assertL ... "fail";assertL ...  "fail"assertLi.classNamedetails ...  "fail"passassertL ... essage;assertL ... messageassertLi.innerHTMLassertL ... rtLi );assertL ... ertLi )assertL ... ndChildQUnit.t ... \n\t}\n});QUnit.t ... ;\n\t}\n})var tes ... sts" );testIte ... stId );good =  ... passed;good =  ... .passedbad = d ... failed;bad = details.failedif ( ba ...  );\n\t\t}{\n\t\t\tse ...  );\n\t\t}session ...  bad );session ... , bad )session ... name );if ( ba ... " );\n\t}bad === 0addClas ... sed" );addClas ... psed" )qunit-collapsedbad &&  ... pseNextbad &&  ... ollapseconfig.collapse!collapseNext{\n\n\t\t// ... rue;\n\t}collapseNext = true;collapseNext = truetestTit ... tChild;testTit ... stChildtestItem.firstChildtestCou ... :\n\t\t"";testCou ...  :\n\t\t""bad ?\n\t ...  :\n\t\t"""<b cla ... </b>, ""<b cla ...  + good"<b cla ... ssed'>""<b cla ... " + bad<b class='failed'></b>, <b class='passed'>testTit ... )</b>";testTit ... ")</b>"testTitle.innerHTML" <b cl ... ")</b>"" <b cl ... .length" <b cl ... tCounts" <b cl ... nts'>(" <b class='counts'>(details ... .lengthdetails.assertions)</b>if ( de ... t );\n\t}details.skipped{\n\t\ttes ... e );\n\t}testIte ... ipped";testIte ... kipped"testItem.classNameskipped ... "em" );skipped ...  "em" )documen ...  "em" )skipped ... label";skipped ... -label"skipped.className"qunit- ... -label"qunit-skipped-labelskipped ... ipped";skipped ... kipped"skipped.innerHTMLtestIte ... itle );testIte ... Title )testIte ... tBefore{\n\t\tadd ... t );\n\t}addEven ... ;\n\t\t});addEven ... );\n\t\t}){\n\t\t\tto ...  );\n\t\t}toggleC ... sed" );toggleC ... psed" )testIte ... "pass";testIte ...  "pass"bad ? " ...  "pass"time =  ... pan" );time =  ... span" )time.cl ... ntime";time.cl ... untime"time.classNametime.in ...  " ms";time.in ... + " ms"time.innerHTMLdetails ... + " ms" mstestIte ... List );testIte ... tList )if ( de ... e );\n\t}{\n\t\tsou ... e );\n\t}sourceN ...  "p" );sourceN ... ( "p" )sourceN ... source;sourceN ... .sourcesourceName.innerHTML"<stron ... .source"<stron ... trong>"<strong>Source: </strong>addClas ... rce" );addClas ... urce" )qunit-sourcetestIte ... Name );testIte ... eName )testItem.appendChildif ( de ... true;\n}var not ... ntom );notPhan ... antom )( funct ... antom )( funct ... );\n\t} )functio ... 0 );\n\t}{\n\t\tret ... 0 );\n\t}return  ...  > 0 );!( p && ... r > 0 )( p &&  ... r > 0 )p && p. ... jor > 0p && p.versionp.versionp.version.major > 0p.version.majorwindow.phantomif ( no ... d );\n\t}notPhan ... mplete"documen ... mplete"document.readyState{\n\t\tQUnit.load();\n\t}QUnit.load();QUnit.load()QUnit.load{\n\t\tadd ... d );\n\t}addEven ... load );addEven ... .load ){\n\tconf ... true;\n}/opt/src/js/tests/visual/affix-with-sticky-footer.htmlaffix-with-sticky-footer/opt/src/js/tests/visualvisual todo(fat): sux you have to do this.// todo ... o this.'.js-affixed-element-top''.js-page-header''.js-footer''.js-affixed-element-bottom''.js-grow-btn''.js-content''<p>Ipsum corrupti ipsam est temporibus.</p>''.js-shrink-btn''.js-content p'$('.js- ... h)\n  })$('.js- ... .\n  .on$('.js- ...  }\n  })$('.js- ... ).affix$('.js- ... t-top')'.js-af ... nt-top'.js-affixed-element-topjs-affixed-element-top{\n    o ...   }\n  }offset: ... 0\n    }top: $( ... e) - 10$('.js- ... e) - 10$('.js- ... t(true)$('.js- ... rHeight$('.js-page-header').js-page-headerjs-page-headerbottom: ... e) + 10$('.js- ... e) + 10$('.js-footer').js-footerjs-footer{\n    $ ... th)\n  }$(e.tar ... tWidth)$(e.target).widthe.target.offsetWidth$('.js- ... ottom')'.js-af ... bottom'.js-affixed-element-bottomjs-affixed-element-bottom$('.js- ... ')\n  })$('.js-grow-btn').on$('.js-grow-btn').js-grow-btnjs-grow-btn{\n    $ ... >')\n  }$('.js- ... .</p>')$('.js- ... .append$('.js-content').js-contentjs-content'<p>Ips ... s.</p>'<p>Ipsum corrupti ipsam est temporibus.</p><p>Ipsum corrupti ipsam est temporibus$('.js- ... ()\n  })$('.js- ... tn').on$('.js-shrink-btn').js-shrink-btnjs-shrink-btn$('.js- ... emove()$('.js- ... .remove$('.js- ... .last()$('.js- ... ').last$('.js-content p').js-content pjs-content p<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->../../../dist/css/bootstrap.min.css<!-- JavaScript Includes --><!-- JavaScript Test -->page-header js-page-headerlist-group affixed-element-top js-affixed-element-topcol-md-6 js-contentlist-group affixed-element-bottom js-affixed-element-bottomlist-group-item grow-btn js-grow-btnlist-group-item shrink-btn js-shrink-btnfooter js-footer../vendor/jquery.min.js../../transition.js../../affix.js/opt/src/js/tests/visual/affix.html<!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->col-md-12 js-footer/opt/src/js/tests/visual/alert.htmlalert alert-warning fade inalert alert-danger fade in../../alert.js/opt/src/js/tests/visual/button.html'.js-loading-button'$('.js- ... 0)\n  })$('.js- ... on').on$('.js- ... utton').js-loading-buttonjs-loading-buttonfunctio ... 00)\n  }{\n    v ... 00)\n  }var btn ... ading')btn = $ ... ading')btn.button('reset')btn.buttonLoading for 3 seconds...btn btn-primary js-loading-button../../button.js/opt/src/js/tests/visual/carousel.htmlhttp://37.media.tumblr.com/tumblr_m8tay0JcfG1qa42jro1_1280.jpghttp://37.media.tumblr.com/tumblr_m8tazfiVYJ1qa42jro1_1280.jpghttp://38.media.tumblr.com/tumblr_m8tb2rVsD31qa42jro1_1280.jpg../../carousel.js/opt/src/js/tests/visual/collapse.html../../collapse.js/opt/src/js/tests/visual/dropdown.html../../dropdown.js/opt/src/js/tests/visual/modal.htmlfirefoxTestDonereportFirefoxTestResult'#ff-bug-test-result''text-success''text-danger''PASS''FAIL''.js-popover''.js-tooltip''#tall-toggle''#tall''#ff-bug-input''#myModal2'var fir ... = falsefirefox ... = falsefunctio ...  true\n}reportF ... tResult{\n  if  ...  true\n}if (!fi ... )  \n  }!firefoxTestDone{\n    $ ... )  \n  }$('#ff- ... 'FAIL')$('#ff- ...   .text$('#ff- ... anger')$('#ff- ... ddClass$('#ff- ... esult')'#ff-bu ... result'#ff-bug-test-resultresult  ... danger'result  ...  'FAIL'PASSFAILfirefox ...  = true$('.js- ... pover()$('.js- ... popover$('.js-popover').js-popoverjs-popover$('.js- ... oltip()$('.js- ... tooltip$('.js-tooltip').js-tooltipjs-tooltip$('#tal ... ()\n  })$('#tal ... ).click$('#tall-toggle')#tall-toggle$('#tall').toggle()$('#tall').toggle$('#tall')#tall$('#ff- ... })\n  })$('#ff- ... t').one$('#ff-bug-input')#ff-bug-input$('#myM ... \n    })$('#myModal2').on$('#myModal2')#myModal2reportF ... (false)$('#ff- ... \n    })$('#ff- ... ut').onreportF ... t(true)btn btn-default js-popovermyModal2myModalLabel2ff-bug-inputff-bug-test-resulttall-togglebtn btn-secondary btn-lghttps://github.com/twbs/bootstrap/issues/18365talldisplay: none;../../modal.js../../tooltip.js../../popover.js/opt/src/js/tests/visual/popover.html$(funct ... er()\n})functio ... ver()\n}{\n  $(' ... ver()\n}/opt/src/js/tests/visual/scrollspy.html.js-navbar-scrollspycollapse navbar-collapse js-navbar-scrollspy../../scrollspy.js/opt/src/js/tests/visual/tab.htmlmyTabmyTab1#home1#profile1myTabDrop2#dropdown1-1#dropdown1-2myTabContent1home1profile1dropdown1-1dropdown1-2myTab2#home2#profile2myTabDrop3#dropdown2-1#dropdown2-2myTabContent2home2profile2dropdown2-1dropdown2-2myTab3#home3#profile3myTabDrop4#dropdown3-1#dropdown3-2myTabContent3home3profile3dropdown3-1dropdown3-2../../tab.js/opt/src/js/tests/visual/tooltip.html$(funct ... ip()\n})functio ... tip()\n}{\n  $(' ... tip()\n}$('[dat ... oltip()$('[dat ... tooltip$('[dat ... tip"]')margin-bottom: 0;/opt/src/js/tooltip.js ========================================================================
 * Bootstrap: tooltip.js v3.4.0
 * http://getbootstrap.com/javascript/#tooltip
 * Inspired by the original jQuery.tipsy by Jason Frame
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  TOOLTIP PUBLIC CLASS DEFINITION// TOOL ... INITION manually read margins because getBoundingClientRect includes difference// manu ... ference we must check for NaN for ie 8/9// we m ...  ie 8/9 $.fn.offset doesn't round pixel values// $.fn ...  values so we use setOffset directly with our own function B-0// so w ... ion B-0 check to see if placing tip in new offset caused the tip to resize itself// chec ...  itself TODO: Check whether guarding this code with this `if` is really necessary.// TODO ... essary. width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093// widt ... s/14093 Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.// Avoi ... uery 3. See https://github.com/twbs/bootstrap/issues/20280// See  ... s/20280 placement == 'right' /* plac ... ght' */ top overflow// top overflow bottom overflow// bottom overflow left overflow// left overflow right overflow// right overflow TOOLTIP PLUGIN DEFINITION TOOLTIP NO CONFLICT// TOOL ... ONFLICTinState'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>''hover focus'getOptions$viewport'`selector` option must be specified when initializing '' on the window.document object!''click.'eventIneventOutleave_optionsgetDelegateOptions'bs.'isInStateTrue'show.bs.'inDomtipIdautoToken/\s?auto?\s?/iautoPlace'block''inserted.bs.'getPositionactualWidthactualHeightorgPlacementviewportDimcalculatedOffsetgetCalculatedOffsetapplyPlacementprevHoverState'shown.bs.''margin-left'setOffsetusinggetViewportAdjustedDeltaisVertical/top|bottom/arrowDeltaarrowOffsetPosition'offsetWidth''offsetHeight'replaceArrow'fade in top bottom left right''hide.bs.''hidden.bs.'isBody'BODY'elRectisSvgelOffsetouterDimsviewportPaddingviewportDimensions/right|left/topEdgeOffsetbottomEdgeOffsetleftEdgeOffsetrightEdgeOffset1000000' `template` option must consist of exactly 1 top-level element!'toggleEnabledvar Too ... ns)\n  }Tooltip ... ns)\n  }this.ty ...  = nullthis.op ...  = nullthis.en ...  = nullthis.enabledthis.ti ...  = nullthis.timeoutthis.ho ...  = nullthis.hoverStatethis.$e ...  = nullthis.inStateTooltip ... '3.4.0'Tooltip.VERSIONTooltip ... N = 150Tooltip ... URATIONTooltip ...   }\n  }Tooltip.DEFAULTS{\n    a ...   }\n  }animation: trueselector: false<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>hover focustitle: ''delay: 0html: falsecontainer: falseviewpor ... 0\n    }padding: 0Tooltip ... e()\n  }Tooltip ... pe.initTooltip.prototypethis.en ...  = truethis.ty ...  = typethis.ge ... ptions)this.getOptionsthis.$v ... wport))this.$viewportthis.op ... wport))this.op ... iewport$($.isF ... wport))$.isFun ... ewport)$.isFunctionthis.op ... rt.call(this.o ... ewport)this.op ... electorthis.in ... false }{ click ... false }click: falsehover: falsefocus: falsethis.$e ... electorthis.$e ... tructordocument.constructor!this.o ... electorthrow n ... ject!')'`selec ... is.type'`selec ... izing '`selector` option must be specified when initializing ' on th ... bject!' on the window.document object! on the windowvar tri ... it(' ')trigger ... it(' ')this.op ... it(' ')this.op ... r.splitthis.options.triggeri = triggers.lengthvar tri ... gers[i]trigger ... gers[i]if (tri ...       }trigger == 'click''click.' + this.typeclick.trigger != 'manual'var eve ... ocusin'eventIn ... ocusin'trigger ... ocusin'trigger == 'hover'var eve ... cusout'eventOu ... cusout'trigger ... cusout'eventIn ... is.typeeventIn  + '.'this.entereventOu ... is.typeeventOut + '.'this.leavethis.op ... Title()(this._ ...  '' }))this._o ... : '' })this._options$.exten ... : '' }){ trigg ... r: '' }selector: ''this.fixTitle()this.fixTitleTooltip ... LTS\n  }Tooltip ... efaultsTooltip ... ons\n  }Tooltip ... Optionsfunctio ... ons\n  }{\n    o ... ons\n  }options ... ptions)this.getDefaults()this.getDefaultsthis.$element.data()this.$element.dataif (opt ... }\n    }options ... number'options.delaytypeof options.delayshow: options.delayhide: options.delayreturn options{\n    v ... ons\n  }var options  = {}options  = {}var def ... aults()default ... aults()this._o ... \n    })if (def ... = valuedefault ... = valuedefaults[key]options[key] = valueoptions[key]Tooltip ... ow)\n  }Tooltip ... e.enterfunctio ... ow)\n  }{\n    v ... ow)\n  }var sel ... s.type)self =  ... s.type)obj ins ... s.type)obj ins ... tructor$(obj.c ... s.type)$(obj.c ... t).data$(obj.currentTarget)obj.currentTarget'bs.' + this.typebs.if (!se ... )\n    }!selfself =  ... ions())new thi ... ions())this.ge ... tions()this.ge ... Options$(obj.c ... , self)if (obj ... e\n    }obj ins ... $.Eventself.in ...  = trueself.in ... hover']self.inStateobj.typ ... 'hover'obj.typ ... ocusin'obj.typeif (sel ... n\n    }self.ti ... == 'in'self.ti ... s('in')self.tip().hasClassself.tip()self.tipself.ho ... == 'in'self.hoverStateself.ho ...  = 'in'clearTi ... imeout)self.timeoutif (!se ... .show()!self.o ... ay.show!self.options.delayself.options.delayself.optionsself.op ... ay.showreturn self.show()self.show()self.showself.ti ... y.show)setTime ... y.show)if (sel ... .show()Tooltip ... lse\n  }Tooltip ... ateTrue{\n    f ... lse\n  }for (va ... e\n    }this.inState[key]Tooltip ... de)\n  }Tooltip ... e.leavefunctio ... de)\n  }{\n    v ... de)\n  }self.in ... = falseobj.typ ... cusout'if (sel ...  returnself.isInStateTrue()self.isInStateTrueself.ho ... = 'out'if (!se ... .hide()!self.o ... ay.hideself.op ... ay.hidereturn self.hide()self.hide()self.hideself.ti ... y.hide)setTime ... y.hide)if (sel ... .hide()Tooltip ... pe.showvar e = ... s.type)e = $.E ... s.type)$.Event ... s.type)'show.b ... is.typeshow.bs.this.ha ... enabledthis.hasContent()this.hasContentvar inD ... ent[0])inDom = ... ent[0])$.conta ... ent[0])this.$e ... Elementthis.$e ... ocumente.isDef ...  !inDom!inDom$tip = this.tip()var tip ... s.type)tipId = ... s.type)this.ge ... s.type)this.getUIDthis.setContent()this.setContent$tip.at ...  tipId)$tip.attrthis.$e ...  tipId)if (thi ... 'fade')this.op ... imation$tip.ad ... 'fade')$tip.addClassvar pla ... acementplaceme ... acementtypeof  ... acementthis.op ... acementthis.op ... ent[0])this.op ... nt.call$tip[0]var aut ... o?\s?/iautoTok ... o?\s?/i\s?auto?\s?\s?auto?var aut ... cement)autoPla ... cement)autoTok ... cement)autoToken.testif (aut ... | 'top'placeme ... | 'top'placeme ... en, '')placement.replace$tip\n   ... , this)$tip\n   ...   .data$tip\n   ... cement)$tip\n   ... ddClass$tip\n   ... ock' })$tip\n   ...    .css$tip\n   ... etach()$tip\n        .detach{ top:  ... lock' }display: 'block'this.op ... ntainer$tip.ap ... tainer)$tip.appendTo$tip.in ... lement)$tip.insertAfterthis.$e ... s.type)'insert ... is.typeinserted.bs.var pos ... ition()pos     ... ition()this.getPosition()this.getPositionvar act ... etWidthactualW ... etWidth$tip[0].offsetWidthvar act ... tHeightactualH ... tHeight$tip[0].offsetHeightif (aut ...       }var org ... acementorgPlac ... acementvar vie ... ewport)viewpor ... ewport)this.ge ... ewport)placeme ... .bottomplaceme ... bottom'pos.bot ... .bottompos.bot ... lHeightpos.bottomviewportDim.bottomplaceme ... Dim.topplacement == 'top'pos.top ... Dim.toppos.top ... lHeightpos.topviewportDim.topplaceme ... m.widthplacement == 'right'pos.rig ... m.widthpos.rig ... alWidthpos.rightviewportDim.widthplaceme ... im.leftplacement == 'left'pos.lef ... im.leftpos.lef ... alWidthpos.leftviewportDim.left$tip\n   ... veClassvar cal ... Height)calcula ... Height)this.ge ... Height)this.ge ... dOffsetthis.ap ... cement)this.applyPlacementvar com ...       }complet ...       }var pre ... erStateprevHov ... erStatethat.hoverStatethat.$e ... t.type)'shown. ... at.typeshown.bs.that.typethat.ho ...  = nullif (pre ... e(that)prevHov ... = 'out'that.leave(that)that.leave$.suppo ... plete()this.$t ... 'fade')this.$tip.hasClassthis.$tip$tip\n   ... RATION)$tip\n   ... tionEnd$tip\n   ... mplete)$tip\n          .onecomplete()Tooltip ... al)\n  }Tooltip ... acement{\n    v ... al)\n  }$tip   = this.tip()var wid ... etWidthwidth   ... etWidthvar hei ... tHeightheight  ... tHeightvar mar ... '), 10)marginT ... '), 10)$tip.cs ... n-top')$tip.cssmarginL ... '), 10)$tip.cs ... -left')margin-leftif (isN ... op  = 0isNaN(marginTop)marginTop  = 0if (isN ... eft = 0isNaN(marginLeft)marginLeft = 0offset. ... rginTopoffset. ... ginLeft$.offse ... et), 0)$.offset.setOffset$.offset$.exten ... offset)using:  ...       }$tip.cs ...      })top: Ma ... ps.top)Math.ro ... ps.top)props.topleft: M ... s.left)Math.ro ... s.left)props.left$tip.addClass('in')if (pla ... t\n    }placeme ...  heightactualH ...  heightoffset. ... lHeightoffset.top + heightvar del ... Height)delta = ... Height)this.ge ... edDeltagetView ... edDeltaif (del ... lta.topdelta.leftoffset. ... ta.leftoffset. ... lta.topdelta.topvar isV ... cement)isVerti ... cement)/top|bo ... cement)/top|bottom/.testtop|bottomvar arr ... lHeightarrowDe ... lHeightisVerti ... lHeightdelta.l ... alWidthdelta.l ... - widthdelta.left * 2delta.t ... lHeightdelta.t ...  heightdelta.top * 2var arr ... Height'arrowOf ... Height'isVerti ... Height'$tip.offset(offset)this.re ... rtical)this.replaceArrow$tip[0] ... sition]Tooltip ... '')\n  }Tooltip ... ceArrow{\n    t ... '')\n  }this.ar ... t', '')this.ar ...    .cssthis.ar ...  + '%')this.arrow()this.arrowisVerti ... : 'top'50 * (1 ... ) + '%'50 * (1 ... ension)(1 - de ... ension)1 - del ... mensiondelta / dimensionisVerti ...  'left'Tooltip ... t')\n  }Tooltip ... Content$tip  = this.tip()title = ... Title()$tip.fi ... inner')$tip.re ... right')'fade i ...  right'fade in top bottom left rightTooltip ... his\n  }Tooltip ... pe.hidevar $ti ... s.$tip)$tip = $(this.$tip)$(this.$tip)var e   ... s.type)e    =  ... s.type)'hide.b ... is.typehide.bs.if (tha ... etach()that.ho ... != 'in'$tip.detach()$tip.detachif (tha ...       }{ // TO ...       }that.$e ... bedby')that.$e ... oveAttr'hidden ... at.typehidden.bs.$tip.re ... s('in')$tip.ha ... 'fade')$tip.hasClass$tip\n        .oneTooltip ... ixTitleif ($e. ... )\n    }$e.attr ... string'$e.attr('title')typeof  ... title')$e.attr ... title')$e.attr ... e', '')$e.attr ... ').attr$e.attr ...  || '')$e.attr ... ) || ''{\n    r ... e()\n  }return  ... Title()Tooltip ... et)\n  }Tooltip ... osition{\n    $ ... et)\n  }$elemen ... elementvar el  ... ment[0]el     = $element[0]var isB ...  'BODY'isBody  ...  'BODY'el.tagName == 'BODY'el.tagNameBODYvar elR ... tRect()elRect  ... tRect()el.getB ... tRect()el.getB ... entRectif (elR ... )\n    }elRect.width == nullelRect.widthelRect  ... .top })$.exten ... .top }){ width ... t.top }width:  ... ct.leftelRect. ... ct.leftelRect.rightelRect.leftheight: ... ect.topelRect. ... ect.topelRect.bottomelRect.topvar isS ... ElementisSvg = ... Elementwindow. ... Elementel inst ... Elementvar elO ... fset())elOffse ... fset())isBody  ... fset())(isSvg  ... fset())isSvg ? ... ffset()$element.offset()$element.offsetvar scr ... Top() }scroll  ... Top() }{ scrol ... Top() }scroll: ... llTop()isBody  ... llTop()documen ... rollTop$element.scrollTop()$element.scrollTopvar out ...  : nullouterDi ...  : nullisBody  ...  : null{ width ... ght() }width:  ... width()height: ... eight()$.exten ... Offset)Tooltip ...  }\n\n  }Tooltip ... dOffsetfunctio ...  }\n\n  }{\n    r ...  }\n\n  }return  ... width }placeme ... width }{ top:  ... h / 2 }top: po ... .heightpos.top + pos.heightpos.heightleft: p ... dth / 2pos.lef ... dth / 2pos.width / 2pos.widthactualWidth / 2top: po ... lHeight{ top:  ... Width }top: po ... ght / 2pos.top ... ght / 2pos.height / 2actualHeight / 2left: p ... alWidth{ top:  ... width }left: p ... s.widthpos.left + pos.widthTooltip ... lta\n  }Tooltip ... edDeltafunctio ... lta\n  }{\n    v ... lta\n  }var del ... ft: 0 }delta = ... ft: 0 }if (!th ... n delta!this.$viewportreturn deltavar vie ... ng || 0viewpor ... ng || 0this.op ... ng || 0this.op ... paddingif (/ri ... }\n    }/right| ... cement)/right|left/.testright|leftvar top ... .scrolltopEdge ... .scrollpos.top ... .scrollpos.top ... Paddingviewpor ... .scrollvar bot ... lHeightbottomE ... lHeightif (top ...       }topEdge ... ons.topviewpor ... ons.top{ // to ...       }delta.t ... eOffsetviewpor ... eOffsetif (bot ...       }bottomE ... .heightviewpor ... .height{ // bo ...       }var lef ... PaddingleftEdg ... Paddingpos.lef ... Paddingvar rig ... alWidthrightEd ... alWidthif (lef ...       }leftEdg ... ns.leftviewpor ... ns.left{ // le ...       }delta.l ... eOffsetif (rig ...       }rightEd ... s.rightviewpor ... s.right{ // ri ...       }viewpor ... s.widthTooltip ... tle\n  }Tooltip ... etTitlefunctio ... tle\n  }{\n    v ... tle\n  }var titletitle = ... .title)$e.attr ... .title)(typeof ... .title)typeof  ... o.titletypeof o.titleo.titleo.title.call($e[0])o.title.callreturn titleTooltip ... fix\n  }Tooltip ... .getUIDfunctio ... fix\n  }{\n    d ... fix\n  }do pref ... refix))documen ... prefix)prefix  ... 000000)~~(Math ... 000000)~(Math. ... 000000)(Math.r ... 000000)Math.ra ... 1000000Math.random()return prefixTooltip ... tip\n  }Tooltip ... ype.tipfunctio ... tip\n  }{\n    i ... tip\n  }if (!th ... }\n    }!this.$tipthis.$t ... mplate)$(this. ... mplate)this.op ... emplatethis.$t ... th != 1this.$tip.lengththrow n ... ment!')this.ty ... ement!'' `temp ... ement!' `template` option must consist of exactly 1 top-level element!return this.$tipTooltip ... '))\n  }Tooltip ... e.arrowTooltip ... rue\n  }Tooltip ... .enablefunctio ... rue\n  }this.enabled = trueTooltip ... disablethis.enabled = falseTooltip ... led\n  }Tooltip ... Enabledfunctio ... led\n  }{\n    t ... led\n  }this.en ... enabled!this.enabledTooltip ... .toggleif (e)  ... }\n    }$(e.cur ... s.type)$(e.cur ... t).data$(e.currentTarget)$(e.cur ... , self)if (e)  ... )\n    }self.in ... e.clickself.inState.click!self.inState.clickif (sel ... e(self)self.enter(self)self.enterself.leave(self)self.leaveself.ti ... r(self)Tooltip ...  })\n  }Tooltip ... destroythis.hi ... \n    })that.$e ... oveDatathat.$element.off'.' + that.type'bs.' + that.typethat.$tipthat.$tip.detach()that.$tip.detachthat.$tip = nullthat.$arrow = nullthat.$arrowthat.$v ...  = nullthat.$viewportthat.$element = nullvar dat ... oltip')data    ... oltip')$this.d ... oltip')new Too ... ptions)var old ... tooltipold = $.fn.tooltip$.fn.to ...  Plugin$.fn.to ... his\n  }$.fn.tooltip = old/opt/src/js/transition.js ========================================================================
 * Bootstrap: transition.js v3.4.0
 * http://getbootstrap.com/javascript/#transitions
 * ========================================================================
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ========================================================================  CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)// CSS  ... r.com/) ============================================================ explicit for ie8 (  ._.)// expl ... (  ._.) http://blog.alexmaccaw.com/css-transitions// http ... sitionstransitionEndtransEndEventNames'webkitTransitionEnd''transitionend'OTransition'oTransitionEnd otransitionend'calledbindTypedelegateTypehandleObjfunctio ... _.)\n  }{\n    v ... _.)\n  }var el  ... strap')el = do ... strap')documen ... strap')var tra ... '\n    }transEn ... '\n    }WebkitT ... ionEnd''webkit ... ionEnd'webkitTransitionEndMozTran ... ionend'transitionendOTransi ... ionend''oTrans ... ionend'oTransitionEnd otransitionendtransit ... ionend'if (el. ...       }el.styl ... definedel.style[name]el.stylereturn  ... name] }{ end:  ... name] }end: tr ... s[name]transEn ... s[name]$.fn.em ... his\n  }$.fn.em ... tionEndvar called = falsecalled = falsevar $el = this$el = this$(this) ... true })$(this).onefunctio ...  true }{ called = true }called = truevar cal ... .end) }callbac ... .end) }functio ... .end) }{ if (! ... .end) }if (!ca ... on.end)!called$($el). ... on.end)$($el).trigger$($el)setTime ... ration)$(funct ...  }\n  }){\n    $ ...   }\n  }$.suppo ... onEnd()transitionEnd()if (!$. ...  return$.event ... }\n    }$.event ... tionEnd$.event.special$.eventbindTyp ... ion.enddelegat ... ion.endhandle: ...       }if ($(e ... uments)$(e.target).is(this)return  ... uments)e.handl ... uments)e.handl ... r.applye.handleObj.handlere.handleObj/opt/src/package.js package metadata file for Meteor.js// pack ... teor.js jshint strict:false  global Package:true /* glob ... true */ http://atmospherejs.com/twbs/bootstrap// http ... otstrapPackage'twbs:bootstrap''The most popular front-end framework for developing responsive, mobile first projects on the web.''https://github.com/twbs/bootstrap.git'onUseapiversionsFrom'METEOR@1.0''jquery''client''dist/fonts/glyphicons-halflings-regular.eot''dist/fonts/glyphicons-halflings-regular.svg''dist/fonts/glyphicons-halflings-regular.ttf''dist/fonts/glyphicons-halflings-regular.woff''dist/fonts/glyphicons-halflings-regular.woff2'addAssetsaddFilesisAsset'dist/js/bootstrap.js'Package ... it'\n});Package ... git'\n})Package.describe{\n  nam ... .git'\n}name: ' ... tstrap'twbs:bootstrapsummary ... e web.''The mo ... e web.'The most popular front-end framework for developing responsive, mobile first projects on the web.The most popular front-end framework for developing responsive, mobile first projects on the webversion: '3.4.0'git: 'h ... ap.git''https: ... ap.git'https://github.com/twbs/bootstrap.gitcom/twbs/bootstrapPackage ... ');\n});Package ... t');\n})Package.onUsefunctio ... nt');\n}{\n  api ... nt');\n}api.ver ... @1.0');api.ver ... R@1.0')api.versionsFromMETEOR@1.0METEOR@1api.use ... ient');api.use ... lient')api.usevar ass ... 2'\n  ];assets  ... f2'\n  ][\n    ' ... f2'\n  ]'dist/f ... ar.eot'dist/fonts/glyphicons-halflings-regular.eotdist/fonts/glyphicons-halflings-regular'dist/f ... ar.svg'dist/fonts/glyphicons-halflings-regular.svg'dist/f ... ar.ttf'dist/fonts/glyphicons-halflings-regular.ttf'dist/f ... r.woff'dist/fonts/glyphicons-halflings-regular.woff'dist/f ... .woff2'dist/fonts/glyphicons-halflings-regular.woff2if (api ... });\n  }api.addAssets{\n    a ... ');\n  }api.add ... ient');api.add ... lient')api.add ... rue });api.add ... true })api.addFiles{ isAsset: true }isAsset: true[\n    ' ... js'\n  ]'dist/j ... rap.js'dist/js/bootstrap.jsdist/js/bootstrap/opt/src/package.json{\n  "na ... ]\n  }\n}"bootstrap""The mo ... e web.""The most popular front-end framework for developing responsive, mobile first projects on the web.""3.4.0"[\n    " ... eb"\n  ]"css""less""mobile-first"mobile-first"responsive"responsive"front-end"front-end"framework"framework"web""http:/ ... ap.com""http://getbootstrap.com"homepage"Twitter, Inc."Twitter, Inc.{\n    " ... st"\n  }"node g ... ion.js"node grunt/change-version.js"node grunt/change-version.js""npm sh ... p.json"npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json"npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json"update-shrinkwrap"grunt test"grunt test"dist/c ... ap.css""dist/css/bootstrap.css""less/b ... p.less""less/bootstrap.less""./dist/js/npm"./dist/js/npm{\n    " ... it"\n  }"git""https: ... ap.git""https://github.com/twbs/bootstrap.git"repository"https: ... issues"https://github.com/twbs/bootstrap/issues"https://github.com/twbs/bootstrap/issues""MIT"MIT{\n    " ... .0"\n  }"~1.1.2"~1.1.2"~7.0.3"~7.0.3"~1.0.1"~1.0.1"~3.0.4"~3.0.4grunt-autoprefixer"~1.0.0"~1.0.0grunt-contrib-clean"~1.3.0"~1.3.0grunt-contrib-compressgrunt-contrib-concatgrunt-contrib-connectgrunt-contrib-copygrunt-contrib-csslintgrunt-contrib-cssmin"~1.5.0"~1.5.0grunt-contrib-htmlmingrunt-contrib-jshintgrunt-contrib-lessgrunt-contrib-pug"~0.7.0"~0.7.0grunt-contrib-qunitgrunt-contrib-uglifygrunt-contrib-watch"~3.1.0"~3.1.0grunt-csscombgrunt-exec"~8.0.1"~8.0.1grunt-html"~0.4.4"~0.4.4grunt-jekyll"~3.0.1"~3.0.1grunt-jscs"~9.0.0"~9.0.0grunt-saucelabs"~3.5.0"~3.5.0"^7.0.0"^7.0.0"^0.7.0"^0.7.0"^0.1.2"^0.1.2shx"^1.3.0"^1.3.0{\n    " ... .1"\n  }">=0.10.1">=0.10.1engines[\n    " ... SE"\n  ]"dist""fonts""grunt""js/*.js""less/**/*.less""Gruntfile.js""LICENSE"LICENSE{\n    " ...   ]\n  }"js/bootstrap"js/bootstrap"jquery""$"shim[\n      ... "\n    ]"js"jspmjs/tests/unit/dropdown.jsjs/tests/unit/modal.jsjs/tests/unit/affix.jsjs/tests/unit/popover.jsjs/tests/unit/button.jsjs/tests/unit/scrollspy.jsjs/tests/unit/tab.jsjs/tests/unit/collapse.jsjs/tests/unit/alert.jsjs/tests/vendor/qunit.js                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    d|    