| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635 |
- (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
- var serialize = require('dom-serialize')
- var instanceOf = require('./util').instanceOf
- function isNode (obj) {
- return (obj.tagName || obj.nodeName) && obj.nodeType
- }
- function stringify (obj, depth) {
- if (depth === 0) {
- return '...'
- }
- if (obj === null) {
- return 'null'
- }
- switch (typeof obj) {
- case 'symbol':
- return obj.toString()
- case 'string':
- return "'" + obj + "'"
- case 'undefined':
- return 'undefined'
- case 'function':
- try {
- // function abc(a, b, c) { /* code goes here */ }
- // -> function abc(a, b, c) { ... }
- return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }')
- } catch (err) {
- if (err instanceof TypeError) {
- // Support older browsers
- return 'function ' + (obj.name || '') + '() { ... }'
- } else {
- throw err
- }
- }
- case 'boolean':
- return obj ? 'true' : 'false'
- case 'object':
- var strs = []
- if (instanceOf(obj, 'Array')) {
- strs.push('[')
- for (var i = 0, ii = obj.length; i < ii; i++) {
- if (i) {
- strs.push(', ')
- }
- strs.push(stringify(obj[i], depth - 1))
- }
- strs.push(']')
- } else if (instanceOf(obj, 'Date')) {
- return obj.toString()
- } else if (instanceOf(obj, 'Text')) {
- return obj.nodeValue
- } else if (instanceOf(obj, 'Comment')) {
- return '<!--' + obj.nodeValue + '-->'
- } else if (obj.outerHTML) {
- return obj.outerHTML
- } else if (isNode(obj)) {
- return serialize(obj)
- } else if (instanceOf(obj, 'Error')) {
- return obj.toString() + '\n' + obj.stack
- } else {
- var constructor = 'Object'
- if (obj.constructor && typeof obj.constructor === 'function') {
- constructor = obj.constructor.name
- }
- strs.push(constructor)
- strs.push('{')
- var first = true
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- if (first) {
- first = false
- } else {
- strs.push(', ')
- }
- strs.push(key + ': ' + stringify(obj[key], depth - 1))
- }
- }
- strs.push('}')
- }
- return strs.join('')
- default:
- return obj
- }
- }
- module.exports = stringify
- },{"./util":2,"dom-serialize":5}],2:[function(require,module,exports){
- exports.instanceOf = function (value, constructorName) {
- return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']'
- }
- exports.elm = function (id) {
- return document.getElementById(id)
- }
- exports.generateId = function (prefix) {
- return prefix + Math.floor(Math.random() * 10000)
- }
- exports.isUndefined = function (value) {
- return typeof value === 'undefined'
- }
- exports.isDefined = function (value) {
- return !exports.isUndefined(value)
- }
- exports.parseQueryParams = function (locationSearch) {
- var params = {}
- var pairs = locationSearch.substr(1).split('&')
- var keyValue
- for (var i = 0; i < pairs.length; i++) {
- keyValue = pairs[i].split('=')
- params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1])
- }
- return params
- }
- },{}],3:[function(require,module,exports){
- // Load our dependencies
- var stringify = require('../common/stringify')
- // Define our context Karma constructor
- function ContextKarma (callParentKarmaMethod) {
- // Define local variables
- var hasError = false
- var self = this
- var isLoaded = false
- // Define our loggers
- // DEV: These are intentionally repeated in client and context
- this.log = function (type, args) {
- var values = []
- for (var i = 0; i < args.length; i++) {
- values.push(this.stringify(args[i], 3))
- }
- this.info({log: values.join(', '), type: type})
- }
- this.stringify = stringify
- // Define our proxy error handler
- // DEV: We require one in our context to track `hasError`
- this.error = function () {
- hasError = true
- callParentKarmaMethod('error', [].slice.call(arguments))
- return false
- }
- // Define our start handler
- function UNIMPLEMENTED_START () {
- this.error('You need to include some adapter that implements __karma__.start method!')
- }
- // all files loaded, let's start the execution
- this.loaded = function () {
- // has error -> cancel
- if (!hasError && !isLoaded) {
- isLoaded = true
- try {
- this.start(this.config)
- } catch (error) {
- this.error(error.stack || error.toString())
- }
- }
- // remove reference to child iframe
- this.start = UNIMPLEMENTED_START
- }
- // supposed to be overriden by the context
- // TODO(vojta): support multiple callbacks (queue)
- this.start = UNIMPLEMENTED_START
- // Define proxy methods
- // DEV: This is a closured `for` loop (same as a `forEach`) for IE support
- var proxyMethods = ['complete', 'info', 'result']
- for (var i = 0; i < proxyMethods.length; i++) {
- (function bindProxyMethod (methodName) {
- self[methodName] = function boundProxyMethod () {
- callParentKarmaMethod(methodName, [].slice.call(arguments))
- }
- }(proxyMethods[i]))
- }
- // Define bindings for context window
- this.setupContext = function (contextWindow) {
- // If we clear the context after every run and we already had an error
- // then stop now. Otherwise, carry on.
- if (self.config.clearContext && hasError) {
- return
- }
- // Perform window level bindings
- // DEV: We return `self.error` since we want to `return false` to ignore errors
- contextWindow.onerror = function () {
- return self.error.apply(self, arguments)
- }
- // DEV: We must defined a function since we don't want to pass the event object
- contextWindow.onbeforeunload = function (e, b) {
- callParentKarmaMethod('onbeforeunload', [])
- }
- contextWindow.dump = function () {
- self.log('dump', arguments)
- }
- var _confirm = contextWindow.confirm
- var _prompt = contextWindow.prompt
- contextWindow.alert = function (msg) {
- self.log('alert', [msg])
- }
- contextWindow.confirm = function (msg) {
- self.log('confirm', [msg])
- return _confirm(msg)
- }
- contextWindow.prompt = function (msg, defaultVal) {
- self.log('prompt', [msg, defaultVal])
- return _prompt(msg, defaultVal)
- }
- // If we want to overload our console, then do it
- function getConsole (currentWindow) {
- return currentWindow.console || {
- log: function () {},
- info: function () {},
- warn: function () {},
- error: function () {},
- debug: function () {}
- }
- }
- if (self.config.captureConsole) {
- // patch the console
- var localConsole = contextWindow.console = getConsole(contextWindow)
- var logMethods = ['log', 'info', 'warn', 'error', 'debug']
- var patchConsoleMethod = function (method) {
- var orig = localConsole[method]
- if (!orig) {
- return
- }
- localConsole[method] = function () {
- self.log(method, arguments)
- try {
- return Function.prototype.apply.call(orig, localConsole, arguments)
- } catch (error) {
- self.log('warn', ['Console method ' + method + ' threw: ' + error])
- }
- }
- }
- for (var i = 0; i < logMethods.length; i++) {
- patchConsoleMethod(logMethods[i])
- }
- }
- }
- }
- // Define call/proxy methods
- ContextKarma.getDirectCallParentKarmaMethod = function (parentWindow) {
- return function directCallParentKarmaMethod (method, args) {
- // If the method doesn't exist, then error out
- if (!parentWindow.karma[method]) {
- parentWindow.karma.error('Expected Karma method "' + method + '" to exist but it doesn\'t')
- return
- }
- // Otherwise, run our method
- parentWindow.karma[method].apply(parentWindow.karma, args)
- }
- }
- ContextKarma.getPostMessageCallParentKarmaMethod = function (parentWindow) {
- return function postMessageCallParentKarmaMethod (method, args) {
- parentWindow.postMessage({__karmaMethod: method, __karmaArguments: args}, window.location.origin)
- }
- }
- // Export our module
- module.exports = ContextKarma
- },{"../common/stringify":1}],4:[function(require,module,exports){
- // Load in our dependencies
- var ContextKarma = require('./karma')
- // Resolve our parent window
- var parentWindow = window.opener || window.parent
- // Define a remote call method for Karma
- var callParentKarmaMethod = ContextKarma.getDirectCallParentKarmaMethod(parentWindow)
- // If we don't have access to the window, then use `postMessage`
- // DEV: In Electron, we don't have access to the parent window due to it being in a separate process
- // DEV: We avoid using this in Internet Explorer as they only support strings
- // http://caniuse.com/#search=postmessage
- var haveParentAccess = false
- try { haveParentAccess = !!parentWindow.window } catch (err) { /* Ignore errors (likely permisison errors) */ }
- if (!haveParentAccess) {
- callParentKarmaMethod = ContextKarma.getPostMessageCallParentKarmaMethod(parentWindow)
- }
- // Define a window-scoped Karma
- window.__karma__ = new ContextKarma(callParentKarmaMethod)
- },{"./karma":3}],5:[function(require,module,exports){
- /**
- * Module dependencies.
- */
- var extend = require('extend');
- var encode = require('ent/encode');
- var CustomEvent = require('custom-event');
- var voidElements = require('void-elements');
- /**
- * Module exports.
- */
- exports = module.exports = serialize;
- exports.serializeElement = serializeElement;
- exports.serializeAttribute = serializeAttribute;
- exports.serializeText = serializeText;
- exports.serializeComment = serializeComment;
- exports.serializeDocument = serializeDocument;
- exports.serializeDoctype = serializeDoctype;
- exports.serializeDocumentFragment = serializeDocumentFragment;
- exports.serializeNodeList = serializeNodeList;
- /**
- * Serializes any DOM node. Returns a string.
- *
- * @param {Node} node - DOM Node to serialize
- * @param {String} [context] - optional arbitrary "context" string to use (useful for event listeners)
- * @param {Function} [fn] - optional callback function to use in the "serialize" event for this call
- * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the "serialize" event on (defaults to `node`)
- * return {String}
- * @public
- */
- function serialize (node, context, fn, eventTarget) {
- if (!node) return '';
- if ('function' === typeof context) {
- fn = context;
- context = null;
- }
- if (!context) context = null;
- var rtn;
- var nodeType = node.nodeType;
- if (!nodeType && 'number' === typeof node.length) {
- // assume it's a NodeList or Array of Nodes
- rtn = exports.serializeNodeList(node, context, fn);
- } else {
- if ('function' === typeof fn) {
- // one-time "serialize" event listener
- node.addEventListener('serialize', fn, false);
- }
- // emit a custom "serialize" event on `node`, in case there
- // are event listeners for custom serialization of this node
- var e = new CustomEvent('serialize', {
- bubbles: true,
- cancelable: true,
- detail: {
- serialize: null,
- context: context
- }
- });
- e.serializeTarget = node;
- var target = eventTarget || node;
- var cancelled = !target.dispatchEvent(e);
- // `e.detail.serialize` can be set to a:
- // String - returned directly
- // Node - goes through serializer logic instead of `node`
- // Anything else - get Stringified first, and then returned directly
- var s = e.detail.serialize;
- if (s != null) {
- if ('string' === typeof s) {
- rtn = s;
- } else if ('number' === typeof s.nodeType) {
- // make it go through the serialization logic
- rtn = serialize(s, context, null, target);
- } else {
- rtn = String(s);
- }
- } else if (!cancelled) {
- // default serialization logic
- switch (nodeType) {
- case 1 /* element */:
- rtn = exports.serializeElement(node, context, eventTarget);
- break;
- case 2 /* attribute */:
- rtn = exports.serializeAttribute(node);
- break;
- case 3 /* text */:
- rtn = exports.serializeText(node);
- break;
- case 8 /* comment */:
- rtn = exports.serializeComment(node);
- break;
- case 9 /* document */:
- rtn = exports.serializeDocument(node, context, eventTarget);
- break;
- case 10 /* doctype */:
- rtn = exports.serializeDoctype(node);
- break;
- case 11 /* document fragment */:
- rtn = exports.serializeDocumentFragment(node, context, eventTarget);
- break;
- }
- }
- if ('function' === typeof fn) {
- node.removeEventListener('serialize', fn, false);
- }
- }
- return rtn || '';
- }
- /**
- * Serialize an Attribute node.
- */
- function serializeAttribute (node, opts) {
- return node.name + '="' + encode(node.value, extend({
- named: true
- }, opts)) + '"';
- }
- /**
- * Serialize a DOM element.
- */
- function serializeElement (node, context, eventTarget) {
- var c, i, l;
- var name = node.nodeName.toLowerCase();
- // opening tag
- var r = '<' + name;
- // attributes
- for (i = 0, c = node.attributes, l = c.length; i < l; i++) {
- r += ' ' + exports.serializeAttribute(c[i]);
- }
- r += '>';
- // child nodes
- r += exports.serializeNodeList(node.childNodes, context, null, eventTarget);
- // closing tag, only for non-void elements
- if (!voidElements[name]) {
- r += '</' + name + '>';
- }
- return r;
- }
- /**
- * Serialize a text node.
- */
- function serializeText (node, opts) {
- return encode(node.nodeValue, extend({
- named: true,
- special: { '<': true, '>': true, '&': true }
- }, opts));
- }
- /**
- * Serialize a comment node.
- */
- function serializeComment (node) {
- return '<!--' + node.nodeValue + '-->';
- }
- /**
- * Serialize a Document node.
- */
- function serializeDocument (node, context, eventTarget) {
- return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
- }
- /**
- * Serialize a DOCTYPE node.
- * See: http://stackoverflow.com/a/10162353
- */
- function serializeDoctype (node) {
- var r = '<!DOCTYPE ' + node.name;
- if (node.publicId) {
- r += ' PUBLIC "' + node.publicId + '"';
- }
- if (!node.publicId && node.systemId) {
- r += ' SYSTEM';
- }
- if (node.systemId) {
- r += ' "' + node.systemId + '"';
- }
- r += '>';
- return r;
- }
- /**
- * Serialize a DocumentFragment instance.
- */
- function serializeDocumentFragment (node, context, eventTarget) {
- return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
- }
- /**
- * Serialize a NodeList/Array of nodes.
- */
- function serializeNodeList (list, context, fn, eventTarget) {
- var r = '';
- for (var i = 0, l = list.length; i < l; i++) {
- r += serialize(list[i], context, fn, eventTarget);
- }
- return r;
- }
- },{"custom-event":6,"ent/encode":7,"extend":9,"void-elements":10}],6:[function(require,module,exports){
- (function (global){
- var NativeCustomEvent = global.CustomEvent;
- function useNative () {
- try {
- var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
- return 'cat' === p.type && 'bar' === p.detail.foo;
- } catch (e) {
- }
- return false;
- }
- /**
- * Cross-browser `CustomEvent` constructor.
- *
- * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
- *
- * @public
- */
- module.exports = useNative() ? NativeCustomEvent :
- // IE >= 9
- 'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {
- var e = document.createEvent('CustomEvent');
- if (params) {
- e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
- } else {
- e.initCustomEvent(type, false, false, void 0);
- }
- return e;
- } :
- // IE <= 8
- function CustomEvent (type, params) {
- var e = document.createEventObject();
- e.type = type;
- if (params) {
- e.bubbles = Boolean(params.bubbles);
- e.cancelable = Boolean(params.cancelable);
- e.detail = params.detail;
- } else {
- e.bubbles = false;
- e.cancelable = false;
- e.detail = void 0;
- }
- return e;
- }
- }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
- },{}],7:[function(require,module,exports){
- var punycode = require('punycode');
- var revEntities = require('./reversed.json');
- module.exports = encode;
- function encode (str, opts) {
- if (typeof str !== 'string') {
- throw new TypeError('Expected a String');
- }
- if (!opts) opts = {};
- var numeric = true;
- if (opts.named) numeric = false;
- if (opts.numeric !== undefined) numeric = opts.numeric;
- var special = opts.special || {
- '"': true, "'": true,
- '<': true, '>': true,
- '&': true
- };
- var codePoints = punycode.ucs2.decode(str);
- var chars = [];
- for (var i = 0; i < codePoints.length; i++) {
- var cc = codePoints[i];
- var c = punycode.ucs2.encode([ cc ]);
- var e = revEntities[cc];
- if (e && (cc >= 127 || special[c]) && !numeric) {
- chars.push('&' + (/;$/.test(e) ? e : e + ';'));
- }
- else if (cc < 32 || cc >= 127 || special[c]) {
- chars.push('&#' + cc + ';');
- }
- else {
- chars.push(c);
- }
- }
- return chars.join('');
- }
- },{"./reversed.json":8,"punycode":11}],8:[function(require,module,exports){
- module.exports={
- "9": "Tab;",
- "10": "NewLine;",
- "33": "excl;",
- "34": "quot;",
- "35": "num;",
- "36": "dollar;",
- "37": "percnt;",
- "38": "amp;",
- "39": "apos;",
- "40": "lpar;",
- "41": "rpar;",
- "42": "midast;",
- "43": "plus;",
- "44": "comma;",
- "46": "period;",
- "47": "sol;",
- "58": "colon;",
- "59": "semi;",
- "60": "lt;",
- "61": "equals;",
- "62": "gt;",
- "63": "quest;",
- "64": "commat;",
- "91": "lsqb;",
- "92": "bsol;",
- "93": "rsqb;",
- "94": "Hat;",
- "95": "UnderBar;",
- "96": "grave;",
- "123": "lcub;",
- "124": "VerticalLine;",
- "125": "rcub;",
- "160": "NonBreakingSpace;",
- "161": "iexcl;",
- "162": "cent;",
- "163": "pound;",
- "164": "curren;",
- "165": "yen;",
- "166": "brvbar;",
- "167": "sect;",
- "168": "uml;",
- "169": "copy;",
- "170": "ordf;",
- "171": "laquo;",
- "172": "not;",
- "173": "shy;",
- "174": "reg;",
- "175": "strns;",
- "176": "deg;",
- "177": "pm;",
- "178": "sup2;",
- "179": "sup3;",
- "180": "DiacriticalAcute;",
- "181": "micro;",
- "182": "para;",
- "183": "middot;",
- "184": "Cedilla;",
- "185": "sup1;",
- "186": "ordm;",
- "187": "raquo;",
- "188": "frac14;",
- "189": "half;",
- "190": "frac34;",
- "191": "iquest;",
- "192": "Agrave;",
- "193": "Aacute;",
- "194": "Acirc;",
- "195": "Atilde;",
- "196": "Auml;",
- "197": "Aring;",
- "198": "AElig;",
- "199": "Ccedil;",
- "200": "Egrave;",
- "201": "Eacute;",
- "202": "Ecirc;",
- "203": "Euml;",
- "204": "Igrave;",
- "205": "Iacute;",
- "206": "Icirc;",
- "207": "Iuml;",
- "208": "ETH;",
- "209": "Ntilde;",
- "210": "Ograve;",
- "211": "Oacute;",
- "212": "Ocirc;",
- "213": "Otilde;",
- "214": "Ouml;",
- "215": "times;",
- "216": "Oslash;",
- "217": "Ugrave;",
- "218": "Uacute;",
- "219": "Ucirc;",
- "220": "Uuml;",
- "221": "Yacute;",
- "222": "THORN;",
- "223": "szlig;",
- "224": "agrave;",
- "225": "aacute;",
- "226": "acirc;",
- "227": "atilde;",
- "228": "auml;",
- "229": "aring;",
- "230": "aelig;",
- "231": "ccedil;",
- "232": "egrave;",
- "233": "eacute;",
- "234": "ecirc;",
- "235": "euml;",
- "236": "igrave;",
- "237": "iacute;",
- "238": "icirc;",
- "239": "iuml;",
- "240": "eth;",
- "241": "ntilde;",
- "242": "ograve;",
- "243": "oacute;",
- "244": "ocirc;",
- "245": "otilde;",
- "246": "ouml;",
- "247": "divide;",
- "248": "oslash;",
- "249": "ugrave;",
- "250": "uacute;",
- "251": "ucirc;",
- "252": "uuml;",
- "253": "yacute;",
- "254": "thorn;",
- "255": "yuml;",
- "256": "Amacr;",
- "257": "amacr;",
- "258": "Abreve;",
- "259": "abreve;",
- "260": "Aogon;",
- "261": "aogon;",
- "262": "Cacute;",
- "263": "cacute;",
- "264": "Ccirc;",
- "265": "ccirc;",
- "266": "Cdot;",
- "267": "cdot;",
- "268": "Ccaron;",
- "269": "ccaron;",
- "270": "Dcaron;",
- "271": "dcaron;",
- "272": "Dstrok;",
- "273": "dstrok;",
- "274": "Emacr;",
- "275": "emacr;",
- "278": "Edot;",
- "279": "edot;",
- "280": "Eogon;",
- "281": "eogon;",
- "282": "Ecaron;",
- "283": "ecaron;",
- "284": "Gcirc;",
- "285": "gcirc;",
- "286": "Gbreve;",
- "287": "gbreve;",
- "288": "Gdot;",
- "289": "gdot;",
- "290": "Gcedil;",
- "292": "Hcirc;",
- "293": "hcirc;",
- "294": "Hstrok;",
- "295": "hstrok;",
- "296": "Itilde;",
- "297": "itilde;",
- "298": "Imacr;",
- "299": "imacr;",
- "302": "Iogon;",
- "303": "iogon;",
- "304": "Idot;",
- "305": "inodot;",
- "306": "IJlig;",
- "307": "ijlig;",
- "308": "Jcirc;",
- "309": "jcirc;",
- "310": "Kcedil;",
- "311": "kcedil;",
- "312": "kgreen;",
- "313": "Lacute;",
- "314": "lacute;",
- "315": "Lcedil;",
- "316": "lcedil;",
- "317": "Lcaron;",
- "318": "lcaron;",
- "319": "Lmidot;",
- "320": "lmidot;",
- "321": "Lstrok;",
- "322": "lstrok;",
- "323": "Nacute;",
- "324": "nacute;",
- "325": "Ncedil;",
- "326": "ncedil;",
- "327": "Ncaron;",
- "328": "ncaron;",
- "329": "napos;",
- "330": "ENG;",
- "331": "eng;",
- "332": "Omacr;",
- "333": "omacr;",
- "336": "Odblac;",
- "337": "odblac;",
- "338": "OElig;",
- "339": "oelig;",
- "340": "Racute;",
- "341": "racute;",
- "342": "Rcedil;",
- "343": "rcedil;",
- "344": "Rcaron;",
- "345": "rcaron;",
- "346": "Sacute;",
- "347": "sacute;",
- "348": "Scirc;",
- "349": "scirc;",
- "350": "Scedil;",
- "351": "scedil;",
- "352": "Scaron;",
- "353": "scaron;",
- "354": "Tcedil;",
- "355": "tcedil;",
- "356": "Tcaron;",
- "357": "tcaron;",
- "358": "Tstrok;",
- "359": "tstrok;",
- "360": "Utilde;",
- "361": "utilde;",
- "362": "Umacr;",
- "363": "umacr;",
- "364": "Ubreve;",
- "365": "ubreve;",
- "366": "Uring;",
- "367": "uring;",
- "368": "Udblac;",
- "369": "udblac;",
- "370": "Uogon;",
- "371": "uogon;",
- "372": "Wcirc;",
- "373": "wcirc;",
- "374": "Ycirc;",
- "375": "ycirc;",
- "376": "Yuml;",
- "377": "Zacute;",
- "378": "zacute;",
- "379": "Zdot;",
- "380": "zdot;",
- "381": "Zcaron;",
- "382": "zcaron;",
- "402": "fnof;",
- "437": "imped;",
- "501": "gacute;",
- "567": "jmath;",
- "710": "circ;",
- "711": "Hacek;",
- "728": "breve;",
- "729": "dot;",
- "730": "ring;",
- "731": "ogon;",
- "732": "tilde;",
- "733": "DiacriticalDoubleAcute;",
- "785": "DownBreve;",
- "913": "Alpha;",
- "914": "Beta;",
- "915": "Gamma;",
- "916": "Delta;",
- "917": "Epsilon;",
- "918": "Zeta;",
- "919": "Eta;",
- "920": "Theta;",
- "921": "Iota;",
- "922": "Kappa;",
- "923": "Lambda;",
- "924": "Mu;",
- "925": "Nu;",
- "926": "Xi;",
- "927": "Omicron;",
- "928": "Pi;",
- "929": "Rho;",
- "931": "Sigma;",
- "932": "Tau;",
- "933": "Upsilon;",
- "934": "Phi;",
- "935": "Chi;",
- "936": "Psi;",
- "937": "Omega;",
- "945": "alpha;",
- "946": "beta;",
- "947": "gamma;",
- "948": "delta;",
- "949": "epsilon;",
- "950": "zeta;",
- "951": "eta;",
- "952": "theta;",
- "953": "iota;",
- "954": "kappa;",
- "955": "lambda;",
- "956": "mu;",
- "957": "nu;",
- "958": "xi;",
- "959": "omicron;",
- "960": "pi;",
- "961": "rho;",
- "962": "varsigma;",
- "963": "sigma;",
- "964": "tau;",
- "965": "upsilon;",
- "966": "phi;",
- "967": "chi;",
- "968": "psi;",
- "969": "omega;",
- "977": "vartheta;",
- "978": "upsih;",
- "981": "varphi;",
- "982": "varpi;",
- "988": "Gammad;",
- "989": "gammad;",
- "1008": "varkappa;",
- "1009": "varrho;",
- "1013": "varepsilon;",
- "1014": "bepsi;",
- "1025": "IOcy;",
- "1026": "DJcy;",
- "1027": "GJcy;",
- "1028": "Jukcy;",
- "1029": "DScy;",
- "1030": "Iukcy;",
- "1031": "YIcy;",
- "1032": "Jsercy;",
- "1033": "LJcy;",
- "1034": "NJcy;",
- "1035": "TSHcy;",
- "1036": "KJcy;",
- "1038": "Ubrcy;",
- "1039": "DZcy;",
- "1040": "Acy;",
- "1041": "Bcy;",
- "1042": "Vcy;",
- "1043": "Gcy;",
- "1044": "Dcy;",
- "1045": "IEcy;",
- "1046": "ZHcy;",
- "1047": "Zcy;",
- "1048": "Icy;",
- "1049": "Jcy;",
- "1050": "Kcy;",
- "1051": "Lcy;",
- "1052": "Mcy;",
- "1053": "Ncy;",
- "1054": "Ocy;",
- "1055": "Pcy;",
- "1056": "Rcy;",
- "1057": "Scy;",
- "1058": "Tcy;",
- "1059": "Ucy;",
- "1060": "Fcy;",
- "1061": "KHcy;",
- "1062": "TScy;",
- "1063": "CHcy;",
- "1064": "SHcy;",
- "1065": "SHCHcy;",
- "1066": "HARDcy;",
- "1067": "Ycy;",
- "1068": "SOFTcy;",
- "1069": "Ecy;",
- "1070": "YUcy;",
- "1071": "YAcy;",
- "1072": "acy;",
- "1073": "bcy;",
- "1074": "vcy;",
- "1075": "gcy;",
- "1076": "dcy;",
- "1077": "iecy;",
- "1078": "zhcy;",
- "1079": "zcy;",
- "1080": "icy;",
- "1081": "jcy;",
- "1082": "kcy;",
- "1083": "lcy;",
- "1084": "mcy;",
- "1085": "ncy;",
- "1086": "ocy;",
- "1087": "pcy;",
- "1088": "rcy;",
- "1089": "scy;",
- "1090": "tcy;",
- "1091": "ucy;",
- "1092": "fcy;",
- "1093": "khcy;",
- "1094": "tscy;",
- "1095": "chcy;",
- "1096": "shcy;",
- "1097": "shchcy;",
- "1098": "hardcy;",
- "1099": "ycy;",
- "1100": "softcy;",
- "1101": "ecy;",
- "1102": "yucy;",
- "1103": "yacy;",
- "1105": "iocy;",
- "1106": "djcy;",
- "1107": "gjcy;",
- "1108": "jukcy;",
- "1109": "dscy;",
- "1110": "iukcy;",
- "1111": "yicy;",
- "1112": "jsercy;",
- "1113": "ljcy;",
- "1114": "njcy;",
- "1115": "tshcy;",
- "1116": "kjcy;",
- "1118": "ubrcy;",
- "1119": "dzcy;",
- "8194": "ensp;",
- "8195": "emsp;",
- "8196": "emsp13;",
- "8197": "emsp14;",
- "8199": "numsp;",
- "8200": "puncsp;",
- "8201": "ThinSpace;",
- "8202": "VeryThinSpace;",
- "8203": "ZeroWidthSpace;",
- "8204": "zwnj;",
- "8205": "zwj;",
- "8206": "lrm;",
- "8207": "rlm;",
- "8208": "hyphen;",
- "8211": "ndash;",
- "8212": "mdash;",
- "8213": "horbar;",
- "8214": "Vert;",
- "8216": "OpenCurlyQuote;",
- "8217": "rsquor;",
- "8218": "sbquo;",
- "8220": "OpenCurlyDoubleQuote;",
- "8221": "rdquor;",
- "8222": "ldquor;",
- "8224": "dagger;",
- "8225": "ddagger;",
- "8226": "bullet;",
- "8229": "nldr;",
- "8230": "mldr;",
- "8240": "permil;",
- "8241": "pertenk;",
- "8242": "prime;",
- "8243": "Prime;",
- "8244": "tprime;",
- "8245": "bprime;",
- "8249": "lsaquo;",
- "8250": "rsaquo;",
- "8254": "OverBar;",
- "8257": "caret;",
- "8259": "hybull;",
- "8260": "frasl;",
- "8271": "bsemi;",
- "8279": "qprime;",
- "8287": "MediumSpace;",
- "8288": "NoBreak;",
- "8289": "ApplyFunction;",
- "8290": "it;",
- "8291": "InvisibleComma;",
- "8364": "euro;",
- "8411": "TripleDot;",
- "8412": "DotDot;",
- "8450": "Copf;",
- "8453": "incare;",
- "8458": "gscr;",
- "8459": "Hscr;",
- "8460": "Poincareplane;",
- "8461": "quaternions;",
- "8462": "planckh;",
- "8463": "plankv;",
- "8464": "Iscr;",
- "8465": "imagpart;",
- "8466": "Lscr;",
- "8467": "ell;",
- "8469": "Nopf;",
- "8470": "numero;",
- "8471": "copysr;",
- "8472": "wp;",
- "8473": "primes;",
- "8474": "rationals;",
- "8475": "Rscr;",
- "8476": "Rfr;",
- "8477": "Ropf;",
- "8478": "rx;",
- "8482": "trade;",
- "8484": "Zopf;",
- "8487": "mho;",
- "8488": "Zfr;",
- "8489": "iiota;",
- "8492": "Bscr;",
- "8493": "Cfr;",
- "8495": "escr;",
- "8496": "expectation;",
- "8497": "Fscr;",
- "8499": "phmmat;",
- "8500": "oscr;",
- "8501": "aleph;",
- "8502": "beth;",
- "8503": "gimel;",
- "8504": "daleth;",
- "8517": "DD;",
- "8518": "DifferentialD;",
- "8519": "exponentiale;",
- "8520": "ImaginaryI;",
- "8531": "frac13;",
- "8532": "frac23;",
- "8533": "frac15;",
- "8534": "frac25;",
- "8535": "frac35;",
- "8536": "frac45;",
- "8537": "frac16;",
- "8538": "frac56;",
- "8539": "frac18;",
- "8540": "frac38;",
- "8541": "frac58;",
- "8542": "frac78;",
- "8592": "slarr;",
- "8593": "uparrow;",
- "8594": "srarr;",
- "8595": "ShortDownArrow;",
- "8596": "leftrightarrow;",
- "8597": "varr;",
- "8598": "UpperLeftArrow;",
- "8599": "UpperRightArrow;",
- "8600": "searrow;",
- "8601": "swarrow;",
- "8602": "nleftarrow;",
- "8603": "nrightarrow;",
- "8605": "rightsquigarrow;",
- "8606": "twoheadleftarrow;",
- "8607": "Uarr;",
- "8608": "twoheadrightarrow;",
- "8609": "Darr;",
- "8610": "leftarrowtail;",
- "8611": "rightarrowtail;",
- "8612": "mapstoleft;",
- "8613": "UpTeeArrow;",
- "8614": "RightTeeArrow;",
- "8615": "mapstodown;",
- "8617": "larrhk;",
- "8618": "rarrhk;",
- "8619": "looparrowleft;",
- "8620": "rarrlp;",
- "8621": "leftrightsquigarrow;",
- "8622": "nleftrightarrow;",
- "8624": "lsh;",
- "8625": "rsh;",
- "8626": "ldsh;",
- "8627": "rdsh;",
- "8629": "crarr;",
- "8630": "curvearrowleft;",
- "8631": "curvearrowright;",
- "8634": "olarr;",
- "8635": "orarr;",
- "8636": "lharu;",
- "8637": "lhard;",
- "8638": "upharpoonright;",
- "8639": "upharpoonleft;",
- "8640": "RightVector;",
- "8641": "rightharpoondown;",
- "8642": "RightDownVector;",
- "8643": "LeftDownVector;",
- "8644": "rlarr;",
- "8645": "UpArrowDownArrow;",
- "8646": "lrarr;",
- "8647": "llarr;",
- "8648": "uuarr;",
- "8649": "rrarr;",
- "8650": "downdownarrows;",
- "8651": "ReverseEquilibrium;",
- "8652": "rlhar;",
- "8653": "nLeftarrow;",
- "8654": "nLeftrightarrow;",
- "8655": "nRightarrow;",
- "8656": "Leftarrow;",
- "8657": "Uparrow;",
- "8658": "Rightarrow;",
- "8659": "Downarrow;",
- "8660": "Leftrightarrow;",
- "8661": "vArr;",
- "8662": "nwArr;",
- "8663": "neArr;",
- "8664": "seArr;",
- "8665": "swArr;",
- "8666": "Lleftarrow;",
- "8667": "Rrightarrow;",
- "8669": "zigrarr;",
- "8676": "LeftArrowBar;",
- "8677": "RightArrowBar;",
- "8693": "duarr;",
- "8701": "loarr;",
- "8702": "roarr;",
- "8703": "hoarr;",
- "8704": "forall;",
- "8705": "complement;",
- "8706": "PartialD;",
- "8707": "Exists;",
- "8708": "NotExists;",
- "8709": "varnothing;",
- "8711": "nabla;",
- "8712": "isinv;",
- "8713": "notinva;",
- "8715": "SuchThat;",
- "8716": "NotReverseElement;",
- "8719": "Product;",
- "8720": "Coproduct;",
- "8721": "sum;",
- "8722": "minus;",
- "8723": "mp;",
- "8724": "plusdo;",
- "8726": "ssetmn;",
- "8727": "lowast;",
- "8728": "SmallCircle;",
- "8730": "Sqrt;",
- "8733": "vprop;",
- "8734": "infin;",
- "8735": "angrt;",
- "8736": "angle;",
- "8737": "measuredangle;",
- "8738": "angsph;",
- "8739": "VerticalBar;",
- "8740": "nsmid;",
- "8741": "spar;",
- "8742": "nspar;",
- "8743": "wedge;",
- "8744": "vee;",
- "8745": "cap;",
- "8746": "cup;",
- "8747": "Integral;",
- "8748": "Int;",
- "8749": "tint;",
- "8750": "oint;",
- "8751": "DoubleContourIntegral;",
- "8752": "Cconint;",
- "8753": "cwint;",
- "8754": "cwconint;",
- "8755": "CounterClockwiseContourIntegral;",
- "8756": "therefore;",
- "8757": "because;",
- "8758": "ratio;",
- "8759": "Proportion;",
- "8760": "minusd;",
- "8762": "mDDot;",
- "8763": "homtht;",
- "8764": "Tilde;",
- "8765": "bsim;",
- "8766": "mstpos;",
- "8767": "acd;",
- "8768": "wreath;",
- "8769": "nsim;",
- "8770": "esim;",
- "8771": "TildeEqual;",
- "8772": "nsimeq;",
- "8773": "TildeFullEqual;",
- "8774": "simne;",
- "8775": "NotTildeFullEqual;",
- "8776": "TildeTilde;",
- "8777": "NotTildeTilde;",
- "8778": "approxeq;",
- "8779": "apid;",
- "8780": "bcong;",
- "8781": "CupCap;",
- "8782": "HumpDownHump;",
- "8783": "HumpEqual;",
- "8784": "esdot;",
- "8785": "eDot;",
- "8786": "fallingdotseq;",
- "8787": "risingdotseq;",
- "8788": "coloneq;",
- "8789": "eqcolon;",
- "8790": "eqcirc;",
- "8791": "cire;",
- "8793": "wedgeq;",
- "8794": "veeeq;",
- "8796": "trie;",
- "8799": "questeq;",
- "8800": "NotEqual;",
- "8801": "equiv;",
- "8802": "NotCongruent;",
- "8804": "leq;",
- "8805": "GreaterEqual;",
- "8806": "LessFullEqual;",
- "8807": "GreaterFullEqual;",
- "8808": "lneqq;",
- "8809": "gneqq;",
- "8810": "NestedLessLess;",
- "8811": "NestedGreaterGreater;",
- "8812": "twixt;",
- "8813": "NotCupCap;",
- "8814": "NotLess;",
- "8815": "NotGreater;",
- "8816": "NotLessEqual;",
- "8817": "NotGreaterEqual;",
- "8818": "lsim;",
- "8819": "gtrsim;",
- "8820": "NotLessTilde;",
- "8821": "NotGreaterTilde;",
- "8822": "lg;",
- "8823": "gtrless;",
- "8824": "ntlg;",
- "8825": "ntgl;",
- "8826": "Precedes;",
- "8827": "Succeeds;",
- "8828": "PrecedesSlantEqual;",
- "8829": "SucceedsSlantEqual;",
- "8830": "prsim;",
- "8831": "succsim;",
- "8832": "nprec;",
- "8833": "nsucc;",
- "8834": "subset;",
- "8835": "supset;",
- "8836": "nsub;",
- "8837": "nsup;",
- "8838": "SubsetEqual;",
- "8839": "supseteq;",
- "8840": "nsubseteq;",
- "8841": "nsupseteq;",
- "8842": "subsetneq;",
- "8843": "supsetneq;",
- "8845": "cupdot;",
- "8846": "uplus;",
- "8847": "SquareSubset;",
- "8848": "SquareSuperset;",
- "8849": "SquareSubsetEqual;",
- "8850": "SquareSupersetEqual;",
- "8851": "SquareIntersection;",
- "8852": "SquareUnion;",
- "8853": "oplus;",
- "8854": "ominus;",
- "8855": "otimes;",
- "8856": "osol;",
- "8857": "odot;",
- "8858": "ocir;",
- "8859": "oast;",
- "8861": "odash;",
- "8862": "plusb;",
- "8863": "minusb;",
- "8864": "timesb;",
- "8865": "sdotb;",
- "8866": "vdash;",
- "8867": "LeftTee;",
- "8868": "top;",
- "8869": "UpTee;",
- "8871": "models;",
- "8872": "vDash;",
- "8873": "Vdash;",
- "8874": "Vvdash;",
- "8875": "VDash;",
- "8876": "nvdash;",
- "8877": "nvDash;",
- "8878": "nVdash;",
- "8879": "nVDash;",
- "8880": "prurel;",
- "8882": "vltri;",
- "8883": "vrtri;",
- "8884": "trianglelefteq;",
- "8885": "trianglerighteq;",
- "8886": "origof;",
- "8887": "imof;",
- "8888": "mumap;",
- "8889": "hercon;",
- "8890": "intercal;",
- "8891": "veebar;",
- "8893": "barvee;",
- "8894": "angrtvb;",
- "8895": "lrtri;",
- "8896": "xwedge;",
- "8897": "xvee;",
- "8898": "xcap;",
- "8899": "xcup;",
- "8900": "diamond;",
- "8901": "sdot;",
- "8902": "Star;",
- "8903": "divonx;",
- "8904": "bowtie;",
- "8905": "ltimes;",
- "8906": "rtimes;",
- "8907": "lthree;",
- "8908": "rthree;",
- "8909": "bsime;",
- "8910": "cuvee;",
- "8911": "cuwed;",
- "8912": "Subset;",
- "8913": "Supset;",
- "8914": "Cap;",
- "8915": "Cup;",
- "8916": "pitchfork;",
- "8917": "epar;",
- "8918": "ltdot;",
- "8919": "gtrdot;",
- "8920": "Ll;",
- "8921": "ggg;",
- "8922": "LessEqualGreater;",
- "8923": "gtreqless;",
- "8926": "curlyeqprec;",
- "8927": "curlyeqsucc;",
- "8928": "nprcue;",
- "8929": "nsccue;",
- "8930": "nsqsube;",
- "8931": "nsqsupe;",
- "8934": "lnsim;",
- "8935": "gnsim;",
- "8936": "prnsim;",
- "8937": "succnsim;",
- "8938": "ntriangleleft;",
- "8939": "ntriangleright;",
- "8940": "ntrianglelefteq;",
- "8941": "ntrianglerighteq;",
- "8942": "vellip;",
- "8943": "ctdot;",
- "8944": "utdot;",
- "8945": "dtdot;",
- "8946": "disin;",
- "8947": "isinsv;",
- "8948": "isins;",
- "8949": "isindot;",
- "8950": "notinvc;",
- "8951": "notinvb;",
- "8953": "isinE;",
- "8954": "nisd;",
- "8955": "xnis;",
- "8956": "nis;",
- "8957": "notnivc;",
- "8958": "notnivb;",
- "8965": "barwedge;",
- "8966": "doublebarwedge;",
- "8968": "LeftCeiling;",
- "8969": "RightCeiling;",
- "8970": "lfloor;",
- "8971": "RightFloor;",
- "8972": "drcrop;",
- "8973": "dlcrop;",
- "8974": "urcrop;",
- "8975": "ulcrop;",
- "8976": "bnot;",
- "8978": "profline;",
- "8979": "profsurf;",
- "8981": "telrec;",
- "8982": "target;",
- "8988": "ulcorner;",
- "8989": "urcorner;",
- "8990": "llcorner;",
- "8991": "lrcorner;",
- "8994": "sfrown;",
- "8995": "ssmile;",
- "9005": "cylcty;",
- "9006": "profalar;",
- "9014": "topbot;",
- "9021": "ovbar;",
- "9023": "solbar;",
- "9084": "angzarr;",
- "9136": "lmoustache;",
- "9137": "rmoustache;",
- "9140": "tbrk;",
- "9141": "UnderBracket;",
- "9142": "bbrktbrk;",
- "9180": "OverParenthesis;",
- "9181": "UnderParenthesis;",
- "9182": "OverBrace;",
- "9183": "UnderBrace;",
- "9186": "trpezium;",
- "9191": "elinters;",
- "9251": "blank;",
- "9416": "oS;",
- "9472": "HorizontalLine;",
- "9474": "boxv;",
- "9484": "boxdr;",
- "9488": "boxdl;",
- "9492": "boxur;",
- "9496": "boxul;",
- "9500": "boxvr;",
- "9508": "boxvl;",
- "9516": "boxhd;",
- "9524": "boxhu;",
- "9532": "boxvh;",
- "9552": "boxH;",
- "9553": "boxV;",
- "9554": "boxdR;",
- "9555": "boxDr;",
- "9556": "boxDR;",
- "9557": "boxdL;",
- "9558": "boxDl;",
- "9559": "boxDL;",
- "9560": "boxuR;",
- "9561": "boxUr;",
- "9562": "boxUR;",
- "9563": "boxuL;",
- "9564": "boxUl;",
- "9565": "boxUL;",
- "9566": "boxvR;",
- "9567": "boxVr;",
- "9568": "boxVR;",
- "9569": "boxvL;",
- "9570": "boxVl;",
- "9571": "boxVL;",
- "9572": "boxHd;",
- "9573": "boxhD;",
- "9574": "boxHD;",
- "9575": "boxHu;",
- "9576": "boxhU;",
- "9577": "boxHU;",
- "9578": "boxvH;",
- "9579": "boxVh;",
- "9580": "boxVH;",
- "9600": "uhblk;",
- "9604": "lhblk;",
- "9608": "block;",
- "9617": "blk14;",
- "9618": "blk12;",
- "9619": "blk34;",
- "9633": "square;",
- "9642": "squf;",
- "9643": "EmptyVerySmallSquare;",
- "9645": "rect;",
- "9646": "marker;",
- "9649": "fltns;",
- "9651": "xutri;",
- "9652": "utrif;",
- "9653": "utri;",
- "9656": "rtrif;",
- "9657": "triangleright;",
- "9661": "xdtri;",
- "9662": "dtrif;",
- "9663": "triangledown;",
- "9666": "ltrif;",
- "9667": "triangleleft;",
- "9674": "lozenge;",
- "9675": "cir;",
- "9708": "tridot;",
- "9711": "xcirc;",
- "9720": "ultri;",
- "9721": "urtri;",
- "9722": "lltri;",
- "9723": "EmptySmallSquare;",
- "9724": "FilledSmallSquare;",
- "9733": "starf;",
- "9734": "star;",
- "9742": "phone;",
- "9792": "female;",
- "9794": "male;",
- "9824": "spadesuit;",
- "9827": "clubsuit;",
- "9829": "heartsuit;",
- "9830": "diams;",
- "9834": "sung;",
- "9837": "flat;",
- "9838": "natural;",
- "9839": "sharp;",
- "10003": "checkmark;",
- "10007": "cross;",
- "10016": "maltese;",
- "10038": "sext;",
- "10072": "VerticalSeparator;",
- "10098": "lbbrk;",
- "10099": "rbbrk;",
- "10184": "bsolhsub;",
- "10185": "suphsol;",
- "10214": "lobrk;",
- "10215": "robrk;",
- "10216": "LeftAngleBracket;",
- "10217": "RightAngleBracket;",
- "10218": "Lang;",
- "10219": "Rang;",
- "10220": "loang;",
- "10221": "roang;",
- "10229": "xlarr;",
- "10230": "xrarr;",
- "10231": "xharr;",
- "10232": "xlArr;",
- "10233": "xrArr;",
- "10234": "xhArr;",
- "10236": "xmap;",
- "10239": "dzigrarr;",
- "10498": "nvlArr;",
- "10499": "nvrArr;",
- "10500": "nvHarr;",
- "10501": "Map;",
- "10508": "lbarr;",
- "10509": "rbarr;",
- "10510": "lBarr;",
- "10511": "rBarr;",
- "10512": "RBarr;",
- "10513": "DDotrahd;",
- "10514": "UpArrowBar;",
- "10515": "DownArrowBar;",
- "10518": "Rarrtl;",
- "10521": "latail;",
- "10522": "ratail;",
- "10523": "lAtail;",
- "10524": "rAtail;",
- "10525": "larrfs;",
- "10526": "rarrfs;",
- "10527": "larrbfs;",
- "10528": "rarrbfs;",
- "10531": "nwarhk;",
- "10532": "nearhk;",
- "10533": "searhk;",
- "10534": "swarhk;",
- "10535": "nwnear;",
- "10536": "toea;",
- "10537": "tosa;",
- "10538": "swnwar;",
- "10547": "rarrc;",
- "10549": "cudarrr;",
- "10550": "ldca;",
- "10551": "rdca;",
- "10552": "cudarrl;",
- "10553": "larrpl;",
- "10556": "curarrm;",
- "10557": "cularrp;",
- "10565": "rarrpl;",
- "10568": "harrcir;",
- "10569": "Uarrocir;",
- "10570": "lurdshar;",
- "10571": "ldrushar;",
- "10574": "LeftRightVector;",
- "10575": "RightUpDownVector;",
- "10576": "DownLeftRightVector;",
- "10577": "LeftUpDownVector;",
- "10578": "LeftVectorBar;",
- "10579": "RightVectorBar;",
- "10580": "RightUpVectorBar;",
- "10581": "RightDownVectorBar;",
- "10582": "DownLeftVectorBar;",
- "10583": "DownRightVectorBar;",
- "10584": "LeftUpVectorBar;",
- "10585": "LeftDownVectorBar;",
- "10586": "LeftTeeVector;",
- "10587": "RightTeeVector;",
- "10588": "RightUpTeeVector;",
- "10589": "RightDownTeeVector;",
- "10590": "DownLeftTeeVector;",
- "10591": "DownRightTeeVector;",
- "10592": "LeftUpTeeVector;",
- "10593": "LeftDownTeeVector;",
- "10594": "lHar;",
- "10595": "uHar;",
- "10596": "rHar;",
- "10597": "dHar;",
- "10598": "luruhar;",
- "10599": "ldrdhar;",
- "10600": "ruluhar;",
- "10601": "rdldhar;",
- "10602": "lharul;",
- "10603": "llhard;",
- "10604": "rharul;",
- "10605": "lrhard;",
- "10606": "UpEquilibrium;",
- "10607": "ReverseUpEquilibrium;",
- "10608": "RoundImplies;",
- "10609": "erarr;",
- "10610": "simrarr;",
- "10611": "larrsim;",
- "10612": "rarrsim;",
- "10613": "rarrap;",
- "10614": "ltlarr;",
- "10616": "gtrarr;",
- "10617": "subrarr;",
- "10619": "suplarr;",
- "10620": "lfisht;",
- "10621": "rfisht;",
- "10622": "ufisht;",
- "10623": "dfisht;",
- "10629": "lopar;",
- "10630": "ropar;",
- "10635": "lbrke;",
- "10636": "rbrke;",
- "10637": "lbrkslu;",
- "10638": "rbrksld;",
- "10639": "lbrksld;",
- "10640": "rbrkslu;",
- "10641": "langd;",
- "10642": "rangd;",
- "10643": "lparlt;",
- "10644": "rpargt;",
- "10645": "gtlPar;",
- "10646": "ltrPar;",
- "10650": "vzigzag;",
- "10652": "vangrt;",
- "10653": "angrtvbd;",
- "10660": "ange;",
- "10661": "range;",
- "10662": "dwangle;",
- "10663": "uwangle;",
- "10664": "angmsdaa;",
- "10665": "angmsdab;",
- "10666": "angmsdac;",
- "10667": "angmsdad;",
- "10668": "angmsdae;",
- "10669": "angmsdaf;",
- "10670": "angmsdag;",
- "10671": "angmsdah;",
- "10672": "bemptyv;",
- "10673": "demptyv;",
- "10674": "cemptyv;",
- "10675": "raemptyv;",
- "10676": "laemptyv;",
- "10677": "ohbar;",
- "10678": "omid;",
- "10679": "opar;",
- "10681": "operp;",
- "10683": "olcross;",
- "10684": "odsold;",
- "10686": "olcir;",
- "10687": "ofcir;",
- "10688": "olt;",
- "10689": "ogt;",
- "10690": "cirscir;",
- "10691": "cirE;",
- "10692": "solb;",
- "10693": "bsolb;",
- "10697": "boxbox;",
- "10701": "trisb;",
- "10702": "rtriltri;",
- "10703": "LeftTriangleBar;",
- "10704": "RightTriangleBar;",
- "10716": "iinfin;",
- "10717": "infintie;",
- "10718": "nvinfin;",
- "10723": "eparsl;",
- "10724": "smeparsl;",
- "10725": "eqvparsl;",
- "10731": "lozf;",
- "10740": "RuleDelayed;",
- "10742": "dsol;",
- "10752": "xodot;",
- "10753": "xoplus;",
- "10754": "xotime;",
- "10756": "xuplus;",
- "10758": "xsqcup;",
- "10764": "qint;",
- "10765": "fpartint;",
- "10768": "cirfnint;",
- "10769": "awint;",
- "10770": "rppolint;",
- "10771": "scpolint;",
- "10772": "npolint;",
- "10773": "pointint;",
- "10774": "quatint;",
- "10775": "intlarhk;",
- "10786": "pluscir;",
- "10787": "plusacir;",
- "10788": "simplus;",
- "10789": "plusdu;",
- "10790": "plussim;",
- "10791": "plustwo;",
- "10793": "mcomma;",
- "10794": "minusdu;",
- "10797": "loplus;",
- "10798": "roplus;",
- "10799": "Cross;",
- "10800": "timesd;",
- "10801": "timesbar;",
- "10803": "smashp;",
- "10804": "lotimes;",
- "10805": "rotimes;",
- "10806": "otimesas;",
- "10807": "Otimes;",
- "10808": "odiv;",
- "10809": "triplus;",
- "10810": "triminus;",
- "10811": "tritime;",
- "10812": "iprod;",
- "10815": "amalg;",
- "10816": "capdot;",
- "10818": "ncup;",
- "10819": "ncap;",
- "10820": "capand;",
- "10821": "cupor;",
- "10822": "cupcap;",
- "10823": "capcup;",
- "10824": "cupbrcap;",
- "10825": "capbrcup;",
- "10826": "cupcup;",
- "10827": "capcap;",
- "10828": "ccups;",
- "10829": "ccaps;",
- "10832": "ccupssm;",
- "10835": "And;",
- "10836": "Or;",
- "10837": "andand;",
- "10838": "oror;",
- "10839": "orslope;",
- "10840": "andslope;",
- "10842": "andv;",
- "10843": "orv;",
- "10844": "andd;",
- "10845": "ord;",
- "10847": "wedbar;",
- "10854": "sdote;",
- "10858": "simdot;",
- "10861": "congdot;",
- "10862": "easter;",
- "10863": "apacir;",
- "10864": "apE;",
- "10865": "eplus;",
- "10866": "pluse;",
- "10867": "Esim;",
- "10868": "Colone;",
- "10869": "Equal;",
- "10871": "eDDot;",
- "10872": "equivDD;",
- "10873": "ltcir;",
- "10874": "gtcir;",
- "10875": "ltquest;",
- "10876": "gtquest;",
- "10877": "LessSlantEqual;",
- "10878": "GreaterSlantEqual;",
- "10879": "lesdot;",
- "10880": "gesdot;",
- "10881": "lesdoto;",
- "10882": "gesdoto;",
- "10883": "lesdotor;",
- "10884": "gesdotol;",
- "10885": "lessapprox;",
- "10886": "gtrapprox;",
- "10887": "lneq;",
- "10888": "gneq;",
- "10889": "lnapprox;",
- "10890": "gnapprox;",
- "10891": "lesseqqgtr;",
- "10892": "gtreqqless;",
- "10893": "lsime;",
- "10894": "gsime;",
- "10895": "lsimg;",
- "10896": "gsiml;",
- "10897": "lgE;",
- "10898": "glE;",
- "10899": "lesges;",
- "10900": "gesles;",
- "10901": "eqslantless;",
- "10902": "eqslantgtr;",
- "10903": "elsdot;",
- "10904": "egsdot;",
- "10905": "el;",
- "10906": "eg;",
- "10909": "siml;",
- "10910": "simg;",
- "10911": "simlE;",
- "10912": "simgE;",
- "10913": "LessLess;",
- "10914": "GreaterGreater;",
- "10916": "glj;",
- "10917": "gla;",
- "10918": "ltcc;",
- "10919": "gtcc;",
- "10920": "lescc;",
- "10921": "gescc;",
- "10922": "smt;",
- "10923": "lat;",
- "10924": "smte;",
- "10925": "late;",
- "10926": "bumpE;",
- "10927": "preceq;",
- "10928": "succeq;",
- "10931": "prE;",
- "10932": "scE;",
- "10933": "prnE;",
- "10934": "succneqq;",
- "10935": "precapprox;",
- "10936": "succapprox;",
- "10937": "prnap;",
- "10938": "succnapprox;",
- "10939": "Pr;",
- "10940": "Sc;",
- "10941": "subdot;",
- "10942": "supdot;",
- "10943": "subplus;",
- "10944": "supplus;",
- "10945": "submult;",
- "10946": "supmult;",
- "10947": "subedot;",
- "10948": "supedot;",
- "10949": "subseteqq;",
- "10950": "supseteqq;",
- "10951": "subsim;",
- "10952": "supsim;",
- "10955": "subsetneqq;",
- "10956": "supsetneqq;",
- "10959": "csub;",
- "10960": "csup;",
- "10961": "csube;",
- "10962": "csupe;",
- "10963": "subsup;",
- "10964": "supsub;",
- "10965": "subsub;",
- "10966": "supsup;",
- "10967": "suphsub;",
- "10968": "supdsub;",
- "10969": "forkv;",
- "10970": "topfork;",
- "10971": "mlcp;",
- "10980": "DoubleLeftTee;",
- "10982": "Vdashl;",
- "10983": "Barv;",
- "10984": "vBar;",
- "10985": "vBarv;",
- "10987": "Vbar;",
- "10988": "Not;",
- "10989": "bNot;",
- "10990": "rnmid;",
- "10991": "cirmid;",
- "10992": "midcir;",
- "10993": "topcir;",
- "10994": "nhpar;",
- "10995": "parsim;",
- "11005": "parsl;",
- "64256": "fflig;",
- "64257": "filig;",
- "64258": "fllig;",
- "64259": "ffilig;",
- "64260": "ffllig;"
- }
- },{}],9:[function(require,module,exports){
- 'use strict';
- var hasOwn = Object.prototype.hasOwnProperty;
- var toStr = Object.prototype.toString;
- var defineProperty = Object.defineProperty;
- var gOPD = Object.getOwnPropertyDescriptor;
- var isArray = function isArray(arr) {
- if (typeof Array.isArray === 'function') {
- return Array.isArray(arr);
- }
- return toStr.call(arr) === '[object Array]';
- };
- var isPlainObject = function isPlainObject(obj) {
- if (!obj || toStr.call(obj) !== '[object Object]') {
- return false;
- }
- var hasOwnConstructor = hasOwn.call(obj, 'constructor');
- var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
- // Not own constructor property must be Object
- if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
- return false;
- }
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
- var key;
- for (key in obj) { /**/ }
- return typeof key === 'undefined' || hasOwn.call(obj, key);
- };
- // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
- var setProperty = function setProperty(target, options) {
- if (defineProperty && options.name === '__proto__') {
- defineProperty(target, options.name, {
- enumerable: true,
- configurable: true,
- value: options.newValue,
- writable: true
- });
- } else {
- target[options.name] = options.newValue;
- }
- };
- // Return undefined instead of __proto__ if '__proto__' is not an own property
- var getProperty = function getProperty(obj, name) {
- if (name === '__proto__') {
- if (!hasOwn.call(obj, name)) {
- return void 0;
- } else if (gOPD) {
- // In early versions of node, obj['__proto__'] is buggy when obj has
- // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
- return gOPD(obj, name).value;
- }
- }
- return obj[name];
- };
- module.exports = function extend() {
- var options, name, src, copy, copyIsArray, clone;
- var target = arguments[0];
- var i = 1;
- var length = arguments.length;
- var deep = false;
- // Handle a deep copy situation
- if (typeof target === 'boolean') {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
- if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
- target = {};
- }
- for (; i < length; ++i) {
- options = arguments[i];
- // Only deal with non-null/undefined values
- if (options != null) {
- // Extend the base object
- for (name in options) {
- src = getProperty(target, name);
- copy = getProperty(options, name);
- // Prevent never-ending loop
- if (target !== copy) {
- // Recurse if we're merging plain objects or arrays
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
- if (copyIsArray) {
- copyIsArray = false;
- clone = src && isArray(src) ? src : [];
- } else {
- clone = src && isPlainObject(src) ? src : {};
- }
- // Never move original objects, clone them
- setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
- // Don't bring in undefined values
- } else if (typeof copy !== 'undefined') {
- setProperty(target, { name: name, newValue: copy });
- }
- }
- }
- }
- }
- // Return the modified object
- return target;
- };
- },{}],10:[function(require,module,exports){
- /**
- * This file automatically generated from `pre-publish.js`.
- * Do not manually edit.
- */
- module.exports = {
- "area": true,
- "base": true,
- "br": true,
- "col": true,
- "embed": true,
- "hr": true,
- "img": true,
- "input": true,
- "keygen": true,
- "link": true,
- "menuitem": true,
- "meta": true,
- "param": true,
- "source": true,
- "track": true,
- "wbr": true
- };
- },{}],11:[function(require,module,exports){
- (function (global){
- /*! https://mths.be/punycode v1.4.1 by @mathias */
- ;(function(root) {
- /** Detect free variables */
- var freeExports = typeof exports == 'object' && exports &&
- !exports.nodeType && exports;
- var freeModule = typeof module == 'object' && module &&
- !module.nodeType && module;
- var freeGlobal = typeof global == 'object' && global;
- if (
- freeGlobal.global === freeGlobal ||
- freeGlobal.window === freeGlobal ||
- freeGlobal.self === freeGlobal
- ) {
- root = freeGlobal;
- }
- /**
- * The `punycode` object.
- * @name punycode
- * @type Object
- */
- var punycode,
- /** Highest positive signed 32-bit float value */
- maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
- /** Bootstring parameters */
- base = 36,
- tMin = 1,
- tMax = 26,
- skew = 38,
- damp = 700,
- initialBias = 72,
- initialN = 128, // 0x80
- delimiter = '-', // '\x2D'
- /** Regular expressions */
- regexPunycode = /^xn--/,
- regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
- regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
- /** Error messages */
- errors = {
- 'overflow': 'Overflow: input needs wider integers to process',
- 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
- 'invalid-input': 'Invalid input'
- },
- /** Convenience shortcuts */
- baseMinusTMin = base - tMin,
- floor = Math.floor,
- stringFromCharCode = String.fromCharCode,
- /** Temporary variable */
- key;
- /*--------------------------------------------------------------------------*/
- /**
- * A generic error utility function.
- * @private
- * @param {String} type The error type.
- * @returns {Error} Throws a `RangeError` with the applicable error message.
- */
- function error(type) {
- throw new RangeError(errors[type]);
- }
- /**
- * A generic `Array#map` utility function.
- * @private
- * @param {Array} array The array to iterate over.
- * @param {Function} callback The function that gets called for every array
- * item.
- * @returns {Array} A new array of values returned by the callback function.
- */
- function map(array, fn) {
- var length = array.length;
- var result = [];
- while (length--) {
- result[length] = fn(array[length]);
- }
- return result;
- }
- /**
- * A simple `Array#map`-like wrapper to work with domain name strings or email
- * addresses.
- * @private
- * @param {String} domain The domain name or email address.
- * @param {Function} callback The function that gets called for every
- * character.
- * @returns {Array} A new string of characters returned by the callback
- * function.
- */
- function mapDomain(string, fn) {
- var parts = string.split('@');
- var result = '';
- if (parts.length > 1) {
- // In email addresses, only the domain name should be punycoded. Leave
- // the local part (i.e. everything up to `@`) intact.
- result = parts[0] + '@';
- string = parts[1];
- }
- // Avoid `split(regex)` for IE8 compatibility. See #17.
- string = string.replace(regexSeparators, '\x2E');
- var labels = string.split('.');
- var encoded = map(labels, fn).join('.');
- return result + encoded;
- }
- /**
- * Creates an array containing the numeric code points of each Unicode
- * character in the string. While JavaScript uses UCS-2 internally,
- * this function will convert a pair of surrogate halves (each of which
- * UCS-2 exposes as separate characters) into a single code point,
- * matching UTF-16.
- * @see `punycode.ucs2.encode`
- * @see <https://mathiasbynens.be/notes/javascript-encoding>
- * @memberOf punycode.ucs2
- * @name decode
- * @param {String} string The Unicode input string (UCS-2).
- * @returns {Array} The new array of code points.
- */
- function ucs2decode(string) {
- var output = [],
- counter = 0,
- length = string.length,
- value,
- extra;
- while (counter < length) {
- value = string.charCodeAt(counter++);
- if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
- // high surrogate, and there is a next character
- extra = string.charCodeAt(counter++);
- if ((extra & 0xFC00) == 0xDC00) { // low surrogate
- output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
- } else {
- // unmatched surrogate; only append this code unit, in case the next
- // code unit is the high surrogate of a surrogate pair
- output.push(value);
- counter--;
- }
- } else {
- output.push(value);
- }
- }
- return output;
- }
- /**
- * Creates a string based on an array of numeric code points.
- * @see `punycode.ucs2.decode`
- * @memberOf punycode.ucs2
- * @name encode
- * @param {Array} codePoints The array of numeric code points.
- * @returns {String} The new Unicode string (UCS-2).
- */
- function ucs2encode(array) {
- return map(array, function(value) {
- var output = '';
- if (value > 0xFFFF) {
- value -= 0x10000;
- output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
- value = 0xDC00 | value & 0x3FF;
- }
- output += stringFromCharCode(value);
- return output;
- }).join('');
- }
- /**
- * Converts a basic code point into a digit/integer.
- * @see `digitToBasic()`
- * @private
- * @param {Number} codePoint The basic numeric code point value.
- * @returns {Number} The numeric value of a basic code point (for use in
- * representing integers) in the range `0` to `base - 1`, or `base` if
- * the code point does not represent a value.
- */
- function basicToDigit(codePoint) {
- if (codePoint - 48 < 10) {
- return codePoint - 22;
- }
- if (codePoint - 65 < 26) {
- return codePoint - 65;
- }
- if (codePoint - 97 < 26) {
- return codePoint - 97;
- }
- return base;
- }
- /**
- * Converts a digit/integer into a basic code point.
- * @see `basicToDigit()`
- * @private
- * @param {Number} digit The numeric value of a basic code point.
- * @returns {Number} The basic code point whose value (when used for
- * representing integers) is `digit`, which needs to be in the range
- * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
- * used; else, the lowercase form is used. The behavior is undefined
- * if `flag` is non-zero and `digit` has no uppercase form.
- */
- function digitToBasic(digit, flag) {
- // 0..25 map to ASCII a..z or A..Z
- // 26..35 map to ASCII 0..9
- return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
- }
- /**
- * Bias adaptation function as per section 3.4 of RFC 3492.
- * https://tools.ietf.org/html/rfc3492#section-3.4
- * @private
- */
- function adapt(delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor(delta / damp) : delta >> 1;
- delta += floor(delta / numPoints);
- for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
- delta = floor(delta / baseMinusTMin);
- }
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
- }
- /**
- * Converts a Punycode string of ASCII-only symbols to a string of Unicode
- * symbols.
- * @memberOf punycode
- * @param {String} input The Punycode string of ASCII-only symbols.
- * @returns {String} The resulting string of Unicode symbols.
- */
- function decode(input) {
- // Don't use UCS-2
- var output = [],
- inputLength = input.length,
- out,
- i = 0,
- n = initialN,
- bias = initialBias,
- basic,
- j,
- index,
- oldi,
- w,
- k,
- digit,
- t,
- /** Cached calculation results */
- baseMinusT;
- // Handle the basic code points: let `basic` be the number of input code
- // points before the last delimiter, or `0` if there is none, then copy
- // the first basic code points to the output.
- basic = input.lastIndexOf(delimiter);
- if (basic < 0) {
- basic = 0;
- }
- for (j = 0; j < basic; ++j) {
- // if it's not a basic code point
- if (input.charCodeAt(j) >= 0x80) {
- error('not-basic');
- }
- output.push(input.charCodeAt(j));
- }
- // Main decoding loop: start just after the last delimiter if any basic code
- // points were copied; start at the beginning otherwise.
- for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
- // `index` is the index of the next character to be consumed.
- // Decode a generalized variable-length integer into `delta`,
- // which gets added to `i`. The overflow checking is easier
- // if we increase `i` as we go, then subtract off its starting
- // value at the end to obtain `delta`.
- for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
- if (index >= inputLength) {
- error('invalid-input');
- }
- digit = basicToDigit(input.charCodeAt(index++));
- if (digit >= base || digit > floor((maxInt - i) / w)) {
- error('overflow');
- }
- i += digit * w;
- t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
- if (digit < t) {
- break;
- }
- baseMinusT = base - t;
- if (w > floor(maxInt / baseMinusT)) {
- error('overflow');
- }
- w *= baseMinusT;
- }
- out = output.length + 1;
- bias = adapt(i - oldi, out, oldi == 0);
- // `i` was supposed to wrap around from `out` to `0`,
- // incrementing `n` each time, so we'll fix that now:
- if (floor(i / out) > maxInt - n) {
- error('overflow');
- }
- n += floor(i / out);
- i %= out;
- // Insert `n` at position `i` of the output
- output.splice(i++, 0, n);
- }
- return ucs2encode(output);
- }
- /**
- * Converts a string of Unicode symbols (e.g. a domain name label) to a
- * Punycode string of ASCII-only symbols.
- * @memberOf punycode
- * @param {String} input The string of Unicode symbols.
- * @returns {String} The resulting Punycode string of ASCII-only symbols.
- */
- function encode(input) {
- var n,
- delta,
- handledCPCount,
- basicLength,
- bias,
- j,
- m,
- q,
- k,
- t,
- currentValue,
- output = [],
- /** `inputLength` will hold the number of code points in `input`. */
- inputLength,
- /** Cached calculation results */
- handledCPCountPlusOne,
- baseMinusT,
- qMinusT;
- // Convert the input in UCS-2 to Unicode
- input = ucs2decode(input);
- // Cache the length
- inputLength = input.length;
- // Initialize the state
- n = initialN;
- delta = 0;
- bias = initialBias;
- // Handle the basic code points
- for (j = 0; j < inputLength; ++j) {
- currentValue = input[j];
- if (currentValue < 0x80) {
- output.push(stringFromCharCode(currentValue));
- }
- }
- handledCPCount = basicLength = output.length;
- // `handledCPCount` is the number of code points that have been handled;
- // `basicLength` is the number of basic code points.
- // Finish the basic string - if it is not empty - with a delimiter
- if (basicLength) {
- output.push(delimiter);
- }
- // Main encoding loop:
- while (handledCPCount < inputLength) {
- // All non-basic code points < n have been handled already. Find the next
- // larger one:
- for (m = maxInt, j = 0; j < inputLength; ++j) {
- currentValue = input[j];
- if (currentValue >= n && currentValue < m) {
- m = currentValue;
- }
- }
- // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
- // but guard against overflow
- handledCPCountPlusOne = handledCPCount + 1;
- if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
- error('overflow');
- }
- delta += (m - n) * handledCPCountPlusOne;
- n = m;
- for (j = 0; j < inputLength; ++j) {
- currentValue = input[j];
- if (currentValue < n && ++delta > maxInt) {
- error('overflow');
- }
- if (currentValue == n) {
- // Represent delta as a generalized variable-length integer
- for (q = delta, k = base; /* no condition */; k += base) {
- t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
- if (q < t) {
- break;
- }
- qMinusT = q - t;
- baseMinusT = base - t;
- output.push(
- stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
- );
- q = floor(qMinusT / baseMinusT);
- }
- output.push(stringFromCharCode(digitToBasic(q, 0)));
- bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
- delta = 0;
- ++handledCPCount;
- }
- }
- ++delta;
- ++n;
- }
- return output.join('');
- }
- /**
- * Converts a Punycode string representing a domain name or an email address
- * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
- * it doesn't matter if you call it on a string that has already been
- * converted to Unicode.
- * @memberOf punycode
- * @param {String} input The Punycoded domain name or email address to
- * convert to Unicode.
- * @returns {String} The Unicode representation of the given Punycode
- * string.
- */
- function toUnicode(input) {
- return mapDomain(input, function(string) {
- return regexPunycode.test(string)
- ? decode(string.slice(4).toLowerCase())
- : string;
- });
- }
- /**
- * Converts a Unicode string representing a domain name or an email address to
- * Punycode. Only the non-ASCII parts of the domain name will be converted,
- * i.e. it doesn't matter if you call it with a domain that's already in
- * ASCII.
- * @memberOf punycode
- * @param {String} input The domain name or email address to convert, as a
- * Unicode string.
- * @returns {String} The Punycode representation of the given domain name or
- * email address.
- */
- function toASCII(input) {
- return mapDomain(input, function(string) {
- return regexNonASCII.test(string)
- ? 'xn--' + encode(string)
- : string;
- });
- }
- /*--------------------------------------------------------------------------*/
- /** Define the public API */
- punycode = {
- /**
- * A string representing the current Punycode.js version number.
- * @memberOf punycode
- * @type String
- */
- 'version': '1.4.1',
- /**
- * An object of methods to convert from JavaScript's internal character
- * representation (UCS-2) to Unicode code points, and back.
- * @see <https://mathiasbynens.be/notes/javascript-encoding>
- * @memberOf punycode
- * @type Object
- */
- 'ucs2': {
- 'decode': ucs2decode,
- 'encode': ucs2encode
- },
- 'decode': decode,
- 'encode': encode,
- 'toASCII': toASCII,
- 'toUnicode': toUnicode
- };
- /** Expose `punycode` */
- // Some AMD build optimizers, like r.js, check for specific condition patterns
- // like the following:
- if (
- typeof define == 'function' &&
- typeof define.amd == 'object' &&
- define.amd
- ) {
- define('punycode', function() {
- return punycode;
- });
- } else if (freeExports && freeModule) {
- if (module.exports == freeExports) {
- // in Node.js, io.js, or RingoJS v0.8.0+
- freeModule.exports = punycode;
- } else {
- // in Narwhal or RingoJS v0.7.0-
- for (key in punycode) {
- punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
- }
- }
- } else {
- // in Rhino or a web browser
- root.punycode = punycode;
- }
- }(this));
- }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
- },{}]},{},[4]);
|