karma.js 123 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255
  1. (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){
  2. module.exports = {
  3. VERSION: '%KARMA_VERSION%',
  4. KARMA_URL_ROOT: '%KARMA_URL_ROOT%',
  5. KARMA_PROXY_PATH: '%KARMA_PROXY_PATH%',
  6. BROWSER_SOCKET_TIMEOUT: '%BROWSER_SOCKET_TIMEOUT%',
  7. CONTEXT_URL: 'context.html'
  8. }
  9. },{}],2:[function(require,module,exports){
  10. var stringify = require('../common/stringify')
  11. var constant = require('./constants')
  12. var util = require('../common/util')
  13. function Karma (socket, iframe, opener, navigator, location) {
  14. var startEmitted = false
  15. var reloadingContext = false
  16. var self = this
  17. var queryParams = util.parseQueryParams(location.search)
  18. var browserId = queryParams.id || util.generateId('manual-')
  19. var displayName = queryParams.displayName
  20. var returnUrl = queryParams['return_url' + ''] || null
  21. var resultsBufferLimit = 50
  22. var resultsBuffer = []
  23. // This variable will be set to "true" whenever the socket lost connection and was able to
  24. // reconnect to the Karma server. This will be passed to the Karma server then, so that
  25. // Karma can differentiate between a socket client reconnect and a full browser reconnect.
  26. var socketReconnect = false
  27. this.VERSION = constant.VERSION
  28. this.config = {}
  29. // Expose for testing purposes as there is no global socket.io
  30. // registry anymore.
  31. this.socket = socket
  32. // Set up postMessage bindings for current window
  33. // DEV: These are to allow windows in separate processes execute local tasks
  34. // Electron is one of these environments
  35. if (window.addEventListener) {
  36. window.addEventListener('message', function handleMessage (evt) {
  37. // Resolve the origin of our message
  38. var origin = evt.origin || evt.originalEvent.origin
  39. // If the message isn't from our host, then reject it
  40. if (origin !== window.location.origin) {
  41. return
  42. }
  43. // Take action based on the message type
  44. var method = evt.data.__karmaMethod
  45. if (method) {
  46. if (!self[method]) {
  47. self.error('Received `postMessage` for "' + method + '" but the method doesn\'t exist')
  48. return
  49. }
  50. self[method].apply(self, evt.data.__karmaArguments)
  51. }
  52. }, false)
  53. }
  54. var childWindow = null
  55. function navigateContextTo (url) {
  56. if (self.config.useIframe === false) {
  57. // run in new window
  58. if (self.config.runInParent === false) {
  59. // If there is a window already open, then close it
  60. // DEV: In some environments (e.g. Electron), we don't have setter access for location
  61. if (childWindow !== null && childWindow.closed !== true) {
  62. childWindow.close()
  63. }
  64. childWindow = opener(url)
  65. // run context on parent element (client_with_context)
  66. // using window.__karma__.scriptUrls to get the html element strings and load them dynamically
  67. } else if (url !== 'about:blank') {
  68. var loadScript = function (idx) {
  69. if (idx < window.__karma__.scriptUrls.length) {
  70. var parser = new DOMParser()
  71. // Revert escaped characters with special roles in HTML before parsing
  72. var string = window.__karma__.scriptUrls[idx]
  73. .replace(/\\x3C/g, '<')
  74. .replace(/\\x3E/g, '>')
  75. var doc = parser.parseFromString(string, 'text/html')
  76. var ele = doc.head.firstChild || doc.body.firstChild
  77. // script elements created by DomParser are marked as unexecutable,
  78. // create a new script element manually and copy necessary properties
  79. // so it is executable
  80. if (ele.tagName && ele.tagName.toLowerCase() === 'script') {
  81. var tmp = ele
  82. ele = document.createElement('script')
  83. ele.src = tmp.src
  84. ele.crossOrigin = tmp.crossOrigin
  85. }
  86. ele.onload = function () {
  87. loadScript(idx + 1)
  88. }
  89. document.body.appendChild(ele)
  90. } else {
  91. window.__karma__.loaded()
  92. }
  93. }
  94. loadScript(0)
  95. }
  96. // run in iframe
  97. } else {
  98. iframe.src = url
  99. }
  100. }
  101. this.onbeforeunload = function () {
  102. if (!reloadingContext) {
  103. // TODO(vojta): show what test (with explanation about jasmine.UPDATE_INTERVAL)
  104. self.error('Some of your tests did a full page reload!')
  105. }
  106. }
  107. this.log = function (type, args) {
  108. var values = []
  109. for (var i = 0; i < args.length; i++) {
  110. values.push(this.stringify(args[i], 3))
  111. }
  112. this.info({log: values.join(', '), type: type})
  113. }
  114. this.stringify = stringify
  115. function clearContext () {
  116. reloadingContext = true
  117. navigateContextTo('about:blank')
  118. }
  119. function getLocation (url, lineno, colno) {
  120. var location = ''
  121. if (url !== undefined) {
  122. location += url
  123. }
  124. if (lineno !== undefined) {
  125. location += ':' + lineno
  126. }
  127. if (colno !== undefined) {
  128. location += ':' + colno
  129. }
  130. return location
  131. }
  132. // error during js file loading (most likely syntax error)
  133. // we are not going to execute at all. `window.onerror` callback.
  134. this.error = function (messageOrEvent, source, lineno, colno, error) {
  135. var message
  136. if (typeof messageOrEvent === 'string') {
  137. message = messageOrEvent
  138. var location = getLocation(source, lineno, colno)
  139. if (location !== '') {
  140. message += '\nat ' + location
  141. }
  142. if (error && error.stack) {
  143. message += '\n\n' + error.stack
  144. }
  145. } else {
  146. // create an object with the string representation of the message to
  147. // ensure all its content is properly transferred to the console log
  148. message = {message: messageOrEvent, str: messageOrEvent.toString()}
  149. }
  150. socket.emit('karma_error', message)
  151. this.complete()
  152. return false
  153. }
  154. this.result = function (originalResult) {
  155. var convertedResult = {}
  156. // Convert all array-like objects to real arrays.
  157. for (var propertyName in originalResult) {
  158. if (originalResult.hasOwnProperty(propertyName)) {
  159. var propertyValue = originalResult[propertyName]
  160. if (Object.prototype.toString.call(propertyValue) === '[object Array]') {
  161. convertedResult[propertyName] = Array.prototype.slice.call(propertyValue)
  162. } else {
  163. convertedResult[propertyName] = propertyValue
  164. }
  165. }
  166. }
  167. if (!startEmitted) {
  168. socket.emit('start', {total: null})
  169. startEmitted = true
  170. }
  171. if (resultsBufferLimit === 1) {
  172. return socket.emit('result', convertedResult)
  173. }
  174. resultsBuffer.push(convertedResult)
  175. if (resultsBuffer.length === resultsBufferLimit) {
  176. socket.emit('result', resultsBuffer)
  177. resultsBuffer = []
  178. }
  179. }
  180. this.complete = function (result) {
  181. if (resultsBuffer.length) {
  182. socket.emit('result', resultsBuffer)
  183. resultsBuffer = []
  184. }
  185. if (self.config.clearContext) {
  186. // give the browser some time to breath, there could be a page reload, but because a bunch of
  187. // tests could run in the same event loop, we wouldn't notice.
  188. setTimeout(function () {
  189. clearContext()
  190. }, 0)
  191. }
  192. socket.emit('complete', result || {}, function () {
  193. if (returnUrl) {
  194. location.href = returnUrl
  195. }
  196. })
  197. }
  198. this.info = function (info) {
  199. // TODO(vojta): introduce special API for this
  200. if (!startEmitted && util.isDefined(info.total)) {
  201. socket.emit('start', info)
  202. startEmitted = true
  203. } else {
  204. socket.emit('info', info)
  205. }
  206. }
  207. socket.on('execute', function (cfg) {
  208. // reset startEmitted and reload the iframe
  209. startEmitted = false
  210. self.config = cfg
  211. // if not clearing context, reloadingContext always true to prevent beforeUnload error
  212. reloadingContext = !self.config.clearContext
  213. navigateContextTo(constant.CONTEXT_URL)
  214. // clear the console before run
  215. // works only on FF (Safari, Chrome do not allow to clear console from js source)
  216. if (window.console && window.console.clear) {
  217. window.console.clear()
  218. }
  219. })
  220. socket.on('stop', function () {
  221. this.complete()
  222. }.bind(this))
  223. // Report the browser name and Id. Note that this event can also fire if the connection has
  224. // been temporarily lost, but the socket reconnected automatically. Read more in the docs:
  225. // https://socket.io/docs/client-api/#Event-%E2%80%98connect%E2%80%99
  226. socket.on('connect', function () {
  227. socket.io.engine.on('upgrade', function () {
  228. resultsBufferLimit = 1
  229. })
  230. var info = {
  231. name: navigator.userAgent,
  232. id: browserId,
  233. isSocketReconnect: socketReconnect
  234. }
  235. if (displayName) {
  236. info.displayName = displayName
  237. }
  238. socket.emit('register', info)
  239. })
  240. socket.on('reconnect', function () {
  241. socketReconnect = true
  242. })
  243. }
  244. module.exports = Karma
  245. },{"../common/stringify":5,"../common/util":6,"./constants":1}],3:[function(require,module,exports){
  246. /* global io */
  247. /* eslint-disable no-new */
  248. require('core-js/es5')
  249. var Karma = require('./karma')
  250. var StatusUpdater = require('./updater')
  251. var util = require('../common/util')
  252. var constants = require('./constants')
  253. var KARMA_URL_ROOT = constants.KARMA_URL_ROOT
  254. var KARMA_PROXY_PATH = constants.KARMA_PROXY_PATH
  255. var BROWSER_SOCKET_TIMEOUT = constants.BROWSER_SOCKET_TIMEOUT
  256. // Connect to the server using socket.io http://socket.io
  257. var socket = io(location.host, {
  258. reconnectionDelay: 500,
  259. reconnectionDelayMax: Infinity,
  260. timeout: BROWSER_SOCKET_TIMEOUT,
  261. path: KARMA_PROXY_PATH + KARMA_URL_ROOT.substr(1) + 'socket.io',
  262. 'sync disconnect on unload': true
  263. })
  264. // instantiate the updater of the view
  265. new StatusUpdater(socket, util.elm('title'), util.elm('banner'), util.elm('browsers'))
  266. window.karma = new Karma(socket, util.elm('context'), window.open,
  267. window.navigator, window.location)
  268. },{"../common/util":6,"./constants":1,"./karma":2,"./updater":4,"core-js/es5":7}],4:[function(require,module,exports){
  269. var VERSION = require('./constants').VERSION
  270. function StatusUpdater (socket, titleElement, bannerElement, browsersElement) {
  271. function updateBrowsersInfo (browsers) {
  272. if (!browsersElement) {
  273. return
  274. }
  275. var items = []
  276. var status
  277. for (var i = 0; i < browsers.length; i++) {
  278. status = browsers[i].isConnected ? 'idle' : 'executing'
  279. items.push('<li class="' + status + '">' + browsers[i].name + ' is ' + status + '</li>')
  280. }
  281. browsersElement.innerHTML = items.join('\n')
  282. }
  283. function updateBanner (status) {
  284. return function (param) {
  285. if (!titleElement || !bannerElement) {
  286. return
  287. }
  288. var paramStatus = param ? status.replace('$', param) : status
  289. titleElement.innerHTML = 'Karma v' + VERSION + ' - ' + paramStatus
  290. bannerElement.className = status === 'connected' ? 'online' : 'offline'
  291. }
  292. }
  293. socket.on('connect', updateBanner('connected'))
  294. socket.on('disconnect', updateBanner('disconnected'))
  295. socket.on('reconnecting', updateBanner('reconnecting in $ seconds...'))
  296. socket.on('reconnect', updateBanner('connected'))
  297. socket.on('reconnect_failed', updateBanner('failed to reconnect'))
  298. socket.on('info', updateBrowsersInfo)
  299. socket.on('disconnect', function () {
  300. updateBrowsersInfo([])
  301. })
  302. }
  303. module.exports = StatusUpdater
  304. },{"./constants":1}],5:[function(require,module,exports){
  305. var serialize = require('dom-serialize')
  306. var instanceOf = require('./util').instanceOf
  307. function isNode (obj) {
  308. return (obj.tagName || obj.nodeName) && obj.nodeType
  309. }
  310. function stringify (obj, depth) {
  311. if (depth === 0) {
  312. return '...'
  313. }
  314. if (obj === null) {
  315. return 'null'
  316. }
  317. switch (typeof obj) {
  318. case 'symbol':
  319. return obj.toString()
  320. case 'string':
  321. return "'" + obj + "'"
  322. case 'undefined':
  323. return 'undefined'
  324. case 'function':
  325. try {
  326. // function abc(a, b, c) { /* code goes here */ }
  327. // -> function abc(a, b, c) { ... }
  328. return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }')
  329. } catch (err) {
  330. if (err instanceof TypeError) {
  331. // Support older browsers
  332. return 'function ' + (obj.name || '') + '() { ... }'
  333. } else {
  334. throw err
  335. }
  336. }
  337. case 'boolean':
  338. return obj ? 'true' : 'false'
  339. case 'object':
  340. var strs = []
  341. if (instanceOf(obj, 'Array')) {
  342. strs.push('[')
  343. for (var i = 0, ii = obj.length; i < ii; i++) {
  344. if (i) {
  345. strs.push(', ')
  346. }
  347. strs.push(stringify(obj[i], depth - 1))
  348. }
  349. strs.push(']')
  350. } else if (instanceOf(obj, 'Date')) {
  351. return obj.toString()
  352. } else if (instanceOf(obj, 'Text')) {
  353. return obj.nodeValue
  354. } else if (instanceOf(obj, 'Comment')) {
  355. return '<!--' + obj.nodeValue + '-->'
  356. } else if (obj.outerHTML) {
  357. return obj.outerHTML
  358. } else if (isNode(obj)) {
  359. return serialize(obj)
  360. } else if (instanceOf(obj, 'Error')) {
  361. return obj.toString() + '\n' + obj.stack
  362. } else {
  363. var constructor = 'Object'
  364. if (obj.constructor && typeof obj.constructor === 'function') {
  365. constructor = obj.constructor.name
  366. }
  367. strs.push(constructor)
  368. strs.push('{')
  369. var first = true
  370. for (var key in obj) {
  371. if (Object.prototype.hasOwnProperty.call(obj, key)) {
  372. if (first) {
  373. first = false
  374. } else {
  375. strs.push(', ')
  376. }
  377. strs.push(key + ': ' + stringify(obj[key], depth - 1))
  378. }
  379. }
  380. strs.push('}')
  381. }
  382. return strs.join('')
  383. default:
  384. return obj
  385. }
  386. }
  387. module.exports = stringify
  388. },{"./util":6,"dom-serialize":105}],6:[function(require,module,exports){
  389. exports.instanceOf = function (value, constructorName) {
  390. return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']'
  391. }
  392. exports.elm = function (id) {
  393. return document.getElementById(id)
  394. }
  395. exports.generateId = function (prefix) {
  396. return prefix + Math.floor(Math.random() * 10000)
  397. }
  398. exports.isUndefined = function (value) {
  399. return typeof value === 'undefined'
  400. }
  401. exports.isDefined = function (value) {
  402. return !exports.isUndefined(value)
  403. }
  404. exports.parseQueryParams = function (locationSearch) {
  405. var params = {}
  406. var pairs = locationSearch.substr(1).split('&')
  407. var keyValue
  408. for (var i = 0; i < pairs.length; i++) {
  409. keyValue = pairs[i].split('=')
  410. params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1])
  411. }
  412. return params
  413. }
  414. },{}],7:[function(require,module,exports){
  415. require('../modules/es6.object.create');
  416. require('../modules/es6.object.define-property');
  417. require('../modules/es6.object.define-properties');
  418. require('../modules/es6.object.get-own-property-descriptor');
  419. require('../modules/es6.object.get-prototype-of');
  420. require('../modules/es6.object.keys');
  421. require('../modules/es6.object.get-own-property-names');
  422. require('../modules/es6.object.freeze');
  423. require('../modules/es6.object.seal');
  424. require('../modules/es6.object.prevent-extensions');
  425. require('../modules/es6.object.is-frozen');
  426. require('../modules/es6.object.is-sealed');
  427. require('../modules/es6.object.is-extensible');
  428. require('../modules/es6.function.bind');
  429. require('../modules/es6.array.is-array');
  430. require('../modules/es6.array.join');
  431. require('../modules/es6.array.slice');
  432. require('../modules/es6.array.sort');
  433. require('../modules/es6.array.for-each');
  434. require('../modules/es6.array.map');
  435. require('../modules/es6.array.filter');
  436. require('../modules/es6.array.some');
  437. require('../modules/es6.array.every');
  438. require('../modules/es6.array.reduce');
  439. require('../modules/es6.array.reduce-right');
  440. require('../modules/es6.array.index-of');
  441. require('../modules/es6.array.last-index-of');
  442. require('../modules/es6.number.to-fixed');
  443. require('../modules/es6.number.to-precision');
  444. require('../modules/es6.date.now');
  445. require('../modules/es6.date.to-iso-string');
  446. require('../modules/es6.date.to-json');
  447. require('../modules/es6.parse-int');
  448. require('../modules/es6.parse-float');
  449. require('../modules/es6.string.trim');
  450. require('../modules/es6.regexp.to-string');
  451. module.exports = require('../modules/_core');
  452. },{"../modules/_core":18,"../modules/es6.array.every":68,"../modules/es6.array.filter":69,"../modules/es6.array.for-each":70,"../modules/es6.array.index-of":71,"../modules/es6.array.is-array":72,"../modules/es6.array.join":73,"../modules/es6.array.last-index-of":74,"../modules/es6.array.map":75,"../modules/es6.array.reduce":77,"../modules/es6.array.reduce-right":76,"../modules/es6.array.slice":78,"../modules/es6.array.some":79,"../modules/es6.array.sort":80,"../modules/es6.date.now":81,"../modules/es6.date.to-iso-string":82,"../modules/es6.date.to-json":83,"../modules/es6.function.bind":84,"../modules/es6.number.to-fixed":85,"../modules/es6.number.to-precision":86,"../modules/es6.object.create":87,"../modules/es6.object.define-properties":88,"../modules/es6.object.define-property":89,"../modules/es6.object.freeze":90,"../modules/es6.object.get-own-property-descriptor":91,"../modules/es6.object.get-own-property-names":92,"../modules/es6.object.get-prototype-of":93,"../modules/es6.object.is-extensible":94,"../modules/es6.object.is-frozen":95,"../modules/es6.object.is-sealed":96,"../modules/es6.object.keys":97,"../modules/es6.object.prevent-extensions":98,"../modules/es6.object.seal":99,"../modules/es6.parse-float":100,"../modules/es6.parse-int":101,"../modules/es6.regexp.to-string":103,"../modules/es6.string.trim":104}],8:[function(require,module,exports){
  453. module.exports = function (it) {
  454. if (typeof it != 'function') throw TypeError(it + ' is not a function!');
  455. return it;
  456. };
  457. },{}],9:[function(require,module,exports){
  458. var cof = require('./_cof');
  459. module.exports = function (it, msg) {
  460. if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
  461. return +it;
  462. };
  463. },{"./_cof":17}],10:[function(require,module,exports){
  464. var isObject = require('./_is-object');
  465. module.exports = function (it) {
  466. if (!isObject(it)) throw TypeError(it + ' is not an object!');
  467. return it;
  468. };
  469. },{"./_is-object":36}],11:[function(require,module,exports){
  470. // false -> Array#indexOf
  471. // true -> Array#includes
  472. var toIObject = require('./_to-iobject');
  473. var toLength = require('./_to-length');
  474. var toAbsoluteIndex = require('./_to-absolute-index');
  475. module.exports = function (IS_INCLUDES) {
  476. return function ($this, el, fromIndex) {
  477. var O = toIObject($this);
  478. var length = toLength(O.length);
  479. var index = toAbsoluteIndex(fromIndex, length);
  480. var value;
  481. // Array#includes uses SameValueZero equality algorithm
  482. // eslint-disable-next-line no-self-compare
  483. if (IS_INCLUDES && el != el) while (length > index) {
  484. value = O[index++];
  485. // eslint-disable-next-line no-self-compare
  486. if (value != value) return true;
  487. // Array#indexOf ignores holes, Array#includes - not
  488. } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
  489. if (O[index] === el) return IS_INCLUDES || index || 0;
  490. } return !IS_INCLUDES && -1;
  491. };
  492. };
  493. },{"./_to-absolute-index":60,"./_to-iobject":62,"./_to-length":63}],12:[function(require,module,exports){
  494. // 0 -> Array#forEach
  495. // 1 -> Array#map
  496. // 2 -> Array#filter
  497. // 3 -> Array#some
  498. // 4 -> Array#every
  499. // 5 -> Array#find
  500. // 6 -> Array#findIndex
  501. var ctx = require('./_ctx');
  502. var IObject = require('./_iobject');
  503. var toObject = require('./_to-object');
  504. var toLength = require('./_to-length');
  505. var asc = require('./_array-species-create');
  506. module.exports = function (TYPE, $create) {
  507. var IS_MAP = TYPE == 1;
  508. var IS_FILTER = TYPE == 2;
  509. var IS_SOME = TYPE == 3;
  510. var IS_EVERY = TYPE == 4;
  511. var IS_FIND_INDEX = TYPE == 6;
  512. var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  513. var create = $create || asc;
  514. return function ($this, callbackfn, that) {
  515. var O = toObject($this);
  516. var self = IObject(O);
  517. var f = ctx(callbackfn, that, 3);
  518. var length = toLength(self.length);
  519. var index = 0;
  520. var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
  521. var val, res;
  522. for (;length > index; index++) if (NO_HOLES || index in self) {
  523. val = self[index];
  524. res = f(val, index, O);
  525. if (TYPE) {
  526. if (IS_MAP) result[index] = res; // map
  527. else if (res) switch (TYPE) {
  528. case 3: return true; // some
  529. case 5: return val; // find
  530. case 6: return index; // findIndex
  531. case 2: result.push(val); // filter
  532. } else if (IS_EVERY) return false; // every
  533. }
  534. }
  535. return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
  536. };
  537. };
  538. },{"./_array-species-create":15,"./_ctx":19,"./_iobject":34,"./_to-length":63,"./_to-object":64}],13:[function(require,module,exports){
  539. var aFunction = require('./_a-function');
  540. var toObject = require('./_to-object');
  541. var IObject = require('./_iobject');
  542. var toLength = require('./_to-length');
  543. module.exports = function (that, callbackfn, aLen, memo, isRight) {
  544. aFunction(callbackfn);
  545. var O = toObject(that);
  546. var self = IObject(O);
  547. var length = toLength(O.length);
  548. var index = isRight ? length - 1 : 0;
  549. var i = isRight ? -1 : 1;
  550. if (aLen < 2) for (;;) {
  551. if (index in self) {
  552. memo = self[index];
  553. index += i;
  554. break;
  555. }
  556. index += i;
  557. if (isRight ? index < 0 : length <= index) {
  558. throw TypeError('Reduce of empty array with no initial value');
  559. }
  560. }
  561. for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {
  562. memo = callbackfn(memo, self[index], index, O);
  563. }
  564. return memo;
  565. };
  566. },{"./_a-function":8,"./_iobject":34,"./_to-length":63,"./_to-object":64}],14:[function(require,module,exports){
  567. var isObject = require('./_is-object');
  568. var isArray = require('./_is-array');
  569. var SPECIES = require('./_wks')('species');
  570. module.exports = function (original) {
  571. var C;
  572. if (isArray(original)) {
  573. C = original.constructor;
  574. // cross-realm fallback
  575. if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
  576. if (isObject(C)) {
  577. C = C[SPECIES];
  578. if (C === null) C = undefined;
  579. }
  580. } return C === undefined ? Array : C;
  581. };
  582. },{"./_is-array":35,"./_is-object":36,"./_wks":67}],15:[function(require,module,exports){
  583. // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
  584. var speciesConstructor = require('./_array-species-constructor');
  585. module.exports = function (original, length) {
  586. return new (speciesConstructor(original))(length);
  587. };
  588. },{"./_array-species-constructor":14}],16:[function(require,module,exports){
  589. 'use strict';
  590. var aFunction = require('./_a-function');
  591. var isObject = require('./_is-object');
  592. var invoke = require('./_invoke');
  593. var arraySlice = [].slice;
  594. var factories = {};
  595. var construct = function (F, len, args) {
  596. if (!(len in factories)) {
  597. for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';
  598. // eslint-disable-next-line no-new-func
  599. factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
  600. } return factories[len](F, args);
  601. };
  602. module.exports = Function.bind || function bind(that /* , ...args */) {
  603. var fn = aFunction(this);
  604. var partArgs = arraySlice.call(arguments, 1);
  605. var bound = function (/* args... */) {
  606. var args = partArgs.concat(arraySlice.call(arguments));
  607. return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
  608. };
  609. if (isObject(fn.prototype)) bound.prototype = fn.prototype;
  610. return bound;
  611. };
  612. },{"./_a-function":8,"./_invoke":33,"./_is-object":36}],17:[function(require,module,exports){
  613. var toString = {}.toString;
  614. module.exports = function (it) {
  615. return toString.call(it).slice(8, -1);
  616. };
  617. },{}],18:[function(require,module,exports){
  618. var core = module.exports = { version: '2.6.0' };
  619. if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
  620. },{}],19:[function(require,module,exports){
  621. // optional / simple context binding
  622. var aFunction = require('./_a-function');
  623. module.exports = function (fn, that, length) {
  624. aFunction(fn);
  625. if (that === undefined) return fn;
  626. switch (length) {
  627. case 1: return function (a) {
  628. return fn.call(that, a);
  629. };
  630. case 2: return function (a, b) {
  631. return fn.call(that, a, b);
  632. };
  633. case 3: return function (a, b, c) {
  634. return fn.call(that, a, b, c);
  635. };
  636. }
  637. return function (/* ...args */) {
  638. return fn.apply(that, arguments);
  639. };
  640. };
  641. },{"./_a-function":8}],20:[function(require,module,exports){
  642. 'use strict';
  643. // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
  644. var fails = require('./_fails');
  645. var getTime = Date.prototype.getTime;
  646. var $toISOString = Date.prototype.toISOString;
  647. var lz = function (num) {
  648. return num > 9 ? num : '0' + num;
  649. };
  650. // PhantomJS / old WebKit has a broken implementations
  651. module.exports = (fails(function () {
  652. return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
  653. }) || !fails(function () {
  654. $toISOString.call(new Date(NaN));
  655. })) ? function toISOString() {
  656. if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
  657. var d = this;
  658. var y = d.getUTCFullYear();
  659. var m = d.getUTCMilliseconds();
  660. var s = y < 0 ? '-' : y > 9999 ? '+' : '';
  661. return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
  662. '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
  663. 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
  664. ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
  665. } : $toISOString;
  666. },{"./_fails":26}],21:[function(require,module,exports){
  667. // 7.2.1 RequireObjectCoercible(argument)
  668. module.exports = function (it) {
  669. if (it == undefined) throw TypeError("Can't call method on " + it);
  670. return it;
  671. };
  672. },{}],22:[function(require,module,exports){
  673. // Thank's IE8 for his funny defineProperty
  674. module.exports = !require('./_fails')(function () {
  675. return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
  676. });
  677. },{"./_fails":26}],23:[function(require,module,exports){
  678. var isObject = require('./_is-object');
  679. var document = require('./_global').document;
  680. // typeof document.createElement is 'object' in old IE
  681. var is = isObject(document) && isObject(document.createElement);
  682. module.exports = function (it) {
  683. return is ? document.createElement(it) : {};
  684. };
  685. },{"./_global":28,"./_is-object":36}],24:[function(require,module,exports){
  686. // IE 8- don't enum bug keys
  687. module.exports = (
  688. 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
  689. ).split(',');
  690. },{}],25:[function(require,module,exports){
  691. var global = require('./_global');
  692. var core = require('./_core');
  693. var hide = require('./_hide');
  694. var redefine = require('./_redefine');
  695. var ctx = require('./_ctx');
  696. var PROTOTYPE = 'prototype';
  697. var $export = function (type, name, source) {
  698. var IS_FORCED = type & $export.F;
  699. var IS_GLOBAL = type & $export.G;
  700. var IS_STATIC = type & $export.S;
  701. var IS_PROTO = type & $export.P;
  702. var IS_BIND = type & $export.B;
  703. var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
  704. var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
  705. var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
  706. var key, own, out, exp;
  707. if (IS_GLOBAL) source = name;
  708. for (key in source) {
  709. // contains in native
  710. own = !IS_FORCED && target && target[key] !== undefined;
  711. // export native or passed
  712. out = (own ? target : source)[key];
  713. // bind timers to global for call from export context
  714. exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
  715. // extend global
  716. if (target) redefine(target, key, out, type & $export.U);
  717. // export
  718. if (exports[key] != out) hide(exports, key, exp);
  719. if (IS_PROTO && expProto[key] != out) expProto[key] = out;
  720. }
  721. };
  722. global.core = core;
  723. // type bitmap
  724. $export.F = 1; // forced
  725. $export.G = 2; // global
  726. $export.S = 4; // static
  727. $export.P = 8; // proto
  728. $export.B = 16; // bind
  729. $export.W = 32; // wrap
  730. $export.U = 64; // safe
  731. $export.R = 128; // real proto method for `library`
  732. module.exports = $export;
  733. },{"./_core":18,"./_ctx":19,"./_global":28,"./_hide":30,"./_redefine":53}],26:[function(require,module,exports){
  734. module.exports = function (exec) {
  735. try {
  736. return !!exec();
  737. } catch (e) {
  738. return true;
  739. }
  740. };
  741. },{}],27:[function(require,module,exports){
  742. 'use strict';
  743. // 21.2.5.3 get RegExp.prototype.flags
  744. var anObject = require('./_an-object');
  745. module.exports = function () {
  746. var that = anObject(this);
  747. var result = '';
  748. if (that.global) result += 'g';
  749. if (that.ignoreCase) result += 'i';
  750. if (that.multiline) result += 'm';
  751. if (that.unicode) result += 'u';
  752. if (that.sticky) result += 'y';
  753. return result;
  754. };
  755. },{"./_an-object":10}],28:[function(require,module,exports){
  756. // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
  757. var global = module.exports = typeof window != 'undefined' && window.Math == Math
  758. ? window : typeof self != 'undefined' && self.Math == Math ? self
  759. // eslint-disable-next-line no-new-func
  760. : Function('return this')();
  761. if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
  762. },{}],29:[function(require,module,exports){
  763. var hasOwnProperty = {}.hasOwnProperty;
  764. module.exports = function (it, key) {
  765. return hasOwnProperty.call(it, key);
  766. };
  767. },{}],30:[function(require,module,exports){
  768. var dP = require('./_object-dp');
  769. var createDesc = require('./_property-desc');
  770. module.exports = require('./_descriptors') ? function (object, key, value) {
  771. return dP.f(object, key, createDesc(1, value));
  772. } : function (object, key, value) {
  773. object[key] = value;
  774. return object;
  775. };
  776. },{"./_descriptors":22,"./_object-dp":40,"./_property-desc":52}],31:[function(require,module,exports){
  777. var document = require('./_global').document;
  778. module.exports = document && document.documentElement;
  779. },{"./_global":28}],32:[function(require,module,exports){
  780. module.exports = !require('./_descriptors') && !require('./_fails')(function () {
  781. return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;
  782. });
  783. },{"./_descriptors":22,"./_dom-create":23,"./_fails":26}],33:[function(require,module,exports){
  784. // fast apply, http://jsperf.lnkit.com/fast-apply/5
  785. module.exports = function (fn, args, that) {
  786. var un = that === undefined;
  787. switch (args.length) {
  788. case 0: return un ? fn()
  789. : fn.call(that);
  790. case 1: return un ? fn(args[0])
  791. : fn.call(that, args[0]);
  792. case 2: return un ? fn(args[0], args[1])
  793. : fn.call(that, args[0], args[1]);
  794. case 3: return un ? fn(args[0], args[1], args[2])
  795. : fn.call(that, args[0], args[1], args[2]);
  796. case 4: return un ? fn(args[0], args[1], args[2], args[3])
  797. : fn.call(that, args[0], args[1], args[2], args[3]);
  798. } return fn.apply(that, args);
  799. };
  800. },{}],34:[function(require,module,exports){
  801. // fallback for non-array-like ES3 and non-enumerable old V8 strings
  802. var cof = require('./_cof');
  803. // eslint-disable-next-line no-prototype-builtins
  804. module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
  805. return cof(it) == 'String' ? it.split('') : Object(it);
  806. };
  807. },{"./_cof":17}],35:[function(require,module,exports){
  808. // 7.2.2 IsArray(argument)
  809. var cof = require('./_cof');
  810. module.exports = Array.isArray || function isArray(arg) {
  811. return cof(arg) == 'Array';
  812. };
  813. },{"./_cof":17}],36:[function(require,module,exports){
  814. module.exports = function (it) {
  815. return typeof it === 'object' ? it !== null : typeof it === 'function';
  816. };
  817. },{}],37:[function(require,module,exports){
  818. module.exports = false;
  819. },{}],38:[function(require,module,exports){
  820. var META = require('./_uid')('meta');
  821. var isObject = require('./_is-object');
  822. var has = require('./_has');
  823. var setDesc = require('./_object-dp').f;
  824. var id = 0;
  825. var isExtensible = Object.isExtensible || function () {
  826. return true;
  827. };
  828. var FREEZE = !require('./_fails')(function () {
  829. return isExtensible(Object.preventExtensions({}));
  830. });
  831. var setMeta = function (it) {
  832. setDesc(it, META, { value: {
  833. i: 'O' + ++id, // object ID
  834. w: {} // weak collections IDs
  835. } });
  836. };
  837. var fastKey = function (it, create) {
  838. // return primitive with prefix
  839. if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
  840. if (!has(it, META)) {
  841. // can't set metadata to uncaught frozen object
  842. if (!isExtensible(it)) return 'F';
  843. // not necessary to add metadata
  844. if (!create) return 'E';
  845. // add missing metadata
  846. setMeta(it);
  847. // return object ID
  848. } return it[META].i;
  849. };
  850. var getWeak = function (it, create) {
  851. if (!has(it, META)) {
  852. // can't set metadata to uncaught frozen object
  853. if (!isExtensible(it)) return true;
  854. // not necessary to add metadata
  855. if (!create) return false;
  856. // add missing metadata
  857. setMeta(it);
  858. // return hash weak collections IDs
  859. } return it[META].w;
  860. };
  861. // add metadata on freeze-family methods calling
  862. var onFreeze = function (it) {
  863. if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
  864. return it;
  865. };
  866. var meta = module.exports = {
  867. KEY: META,
  868. NEED: false,
  869. fastKey: fastKey,
  870. getWeak: getWeak,
  871. onFreeze: onFreeze
  872. };
  873. },{"./_fails":26,"./_has":29,"./_is-object":36,"./_object-dp":40,"./_uid":66}],39:[function(require,module,exports){
  874. // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  875. var anObject = require('./_an-object');
  876. var dPs = require('./_object-dps');
  877. var enumBugKeys = require('./_enum-bug-keys');
  878. var IE_PROTO = require('./_shared-key')('IE_PROTO');
  879. var Empty = function () { /* empty */ };
  880. var PROTOTYPE = 'prototype';
  881. // Create object with fake `null` prototype: use iframe Object with cleared prototype
  882. var createDict = function () {
  883. // Thrash, waste and sodomy: IE GC bug
  884. var iframe = require('./_dom-create')('iframe');
  885. var i = enumBugKeys.length;
  886. var lt = '<';
  887. var gt = '>';
  888. var iframeDocument;
  889. iframe.style.display = 'none';
  890. require('./_html').appendChild(iframe);
  891. iframe.src = 'javascript:'; // eslint-disable-line no-script-url
  892. // createDict = iframe.contentWindow.Object;
  893. // html.removeChild(iframe);
  894. iframeDocument = iframe.contentWindow.document;
  895. iframeDocument.open();
  896. iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
  897. iframeDocument.close();
  898. createDict = iframeDocument.F;
  899. while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
  900. return createDict();
  901. };
  902. module.exports = Object.create || function create(O, Properties) {
  903. var result;
  904. if (O !== null) {
  905. Empty[PROTOTYPE] = anObject(O);
  906. result = new Empty();
  907. Empty[PROTOTYPE] = null;
  908. // add "__proto__" for Object.getPrototypeOf polyfill
  909. result[IE_PROTO] = O;
  910. } else result = createDict();
  911. return Properties === undefined ? result : dPs(result, Properties);
  912. };
  913. },{"./_an-object":10,"./_dom-create":23,"./_enum-bug-keys":24,"./_html":31,"./_object-dps":41,"./_shared-key":54}],40:[function(require,module,exports){
  914. var anObject = require('./_an-object');
  915. var IE8_DOM_DEFINE = require('./_ie8-dom-define');
  916. var toPrimitive = require('./_to-primitive');
  917. var dP = Object.defineProperty;
  918. exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {
  919. anObject(O);
  920. P = toPrimitive(P, true);
  921. anObject(Attributes);
  922. if (IE8_DOM_DEFINE) try {
  923. return dP(O, P, Attributes);
  924. } catch (e) { /* empty */ }
  925. if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
  926. if ('value' in Attributes) O[P] = Attributes.value;
  927. return O;
  928. };
  929. },{"./_an-object":10,"./_descriptors":22,"./_ie8-dom-define":32,"./_to-primitive":65}],41:[function(require,module,exports){
  930. var dP = require('./_object-dp');
  931. var anObject = require('./_an-object');
  932. var getKeys = require('./_object-keys');
  933. module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {
  934. anObject(O);
  935. var keys = getKeys(Properties);
  936. var length = keys.length;
  937. var i = 0;
  938. var P;
  939. while (length > i) dP.f(O, P = keys[i++], Properties[P]);
  940. return O;
  941. };
  942. },{"./_an-object":10,"./_descriptors":22,"./_object-dp":40,"./_object-keys":47}],42:[function(require,module,exports){
  943. var pIE = require('./_object-pie');
  944. var createDesc = require('./_property-desc');
  945. var toIObject = require('./_to-iobject');
  946. var toPrimitive = require('./_to-primitive');
  947. var has = require('./_has');
  948. var IE8_DOM_DEFINE = require('./_ie8-dom-define');
  949. var gOPD = Object.getOwnPropertyDescriptor;
  950. exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {
  951. O = toIObject(O);
  952. P = toPrimitive(P, true);
  953. if (IE8_DOM_DEFINE) try {
  954. return gOPD(O, P);
  955. } catch (e) { /* empty */ }
  956. if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
  957. };
  958. },{"./_descriptors":22,"./_has":29,"./_ie8-dom-define":32,"./_object-pie":48,"./_property-desc":52,"./_to-iobject":62,"./_to-primitive":65}],43:[function(require,module,exports){
  959. // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
  960. var toIObject = require('./_to-iobject');
  961. var gOPN = require('./_object-gopn').f;
  962. var toString = {}.toString;
  963. var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
  964. ? Object.getOwnPropertyNames(window) : [];
  965. var getWindowNames = function (it) {
  966. try {
  967. return gOPN(it);
  968. } catch (e) {
  969. return windowNames.slice();
  970. }
  971. };
  972. module.exports.f = function getOwnPropertyNames(it) {
  973. return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
  974. };
  975. },{"./_object-gopn":44,"./_to-iobject":62}],44:[function(require,module,exports){
  976. // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
  977. var $keys = require('./_object-keys-internal');
  978. var hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');
  979. exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  980. return $keys(O, hiddenKeys);
  981. };
  982. },{"./_enum-bug-keys":24,"./_object-keys-internal":46}],45:[function(require,module,exports){
  983. // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
  984. var has = require('./_has');
  985. var toObject = require('./_to-object');
  986. var IE_PROTO = require('./_shared-key')('IE_PROTO');
  987. var ObjectProto = Object.prototype;
  988. module.exports = Object.getPrototypeOf || function (O) {
  989. O = toObject(O);
  990. if (has(O, IE_PROTO)) return O[IE_PROTO];
  991. if (typeof O.constructor == 'function' && O instanceof O.constructor) {
  992. return O.constructor.prototype;
  993. } return O instanceof Object ? ObjectProto : null;
  994. };
  995. },{"./_has":29,"./_shared-key":54,"./_to-object":64}],46:[function(require,module,exports){
  996. var has = require('./_has');
  997. var toIObject = require('./_to-iobject');
  998. var arrayIndexOf = require('./_array-includes')(false);
  999. var IE_PROTO = require('./_shared-key')('IE_PROTO');
  1000. module.exports = function (object, names) {
  1001. var O = toIObject(object);
  1002. var i = 0;
  1003. var result = [];
  1004. var key;
  1005. for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
  1006. // Don't enum bug & hidden keys
  1007. while (names.length > i) if (has(O, key = names[i++])) {
  1008. ~arrayIndexOf(result, key) || result.push(key);
  1009. }
  1010. return result;
  1011. };
  1012. },{"./_array-includes":11,"./_has":29,"./_shared-key":54,"./_to-iobject":62}],47:[function(require,module,exports){
  1013. // 19.1.2.14 / 15.2.3.14 Object.keys(O)
  1014. var $keys = require('./_object-keys-internal');
  1015. var enumBugKeys = require('./_enum-bug-keys');
  1016. module.exports = Object.keys || function keys(O) {
  1017. return $keys(O, enumBugKeys);
  1018. };
  1019. },{"./_enum-bug-keys":24,"./_object-keys-internal":46}],48:[function(require,module,exports){
  1020. exports.f = {}.propertyIsEnumerable;
  1021. },{}],49:[function(require,module,exports){
  1022. // most Object methods by ES6 should accept primitives
  1023. var $export = require('./_export');
  1024. var core = require('./_core');
  1025. var fails = require('./_fails');
  1026. module.exports = function (KEY, exec) {
  1027. var fn = (core.Object || {})[KEY] || Object[KEY];
  1028. var exp = {};
  1029. exp[KEY] = exec(fn);
  1030. $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
  1031. };
  1032. },{"./_core":18,"./_export":25,"./_fails":26}],50:[function(require,module,exports){
  1033. var $parseFloat = require('./_global').parseFloat;
  1034. var $trim = require('./_string-trim').trim;
  1035. module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {
  1036. var string = $trim(String(str), 3);
  1037. var result = $parseFloat(string);
  1038. return result === 0 && string.charAt(0) == '-' ? -0 : result;
  1039. } : $parseFloat;
  1040. },{"./_global":28,"./_string-trim":58,"./_string-ws":59}],51:[function(require,module,exports){
  1041. var $parseInt = require('./_global').parseInt;
  1042. var $trim = require('./_string-trim').trim;
  1043. var ws = require('./_string-ws');
  1044. var hex = /^[-+]?0[xX]/;
  1045. module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
  1046. var string = $trim(String(str), 3);
  1047. return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
  1048. } : $parseInt;
  1049. },{"./_global":28,"./_string-trim":58,"./_string-ws":59}],52:[function(require,module,exports){
  1050. module.exports = function (bitmap, value) {
  1051. return {
  1052. enumerable: !(bitmap & 1),
  1053. configurable: !(bitmap & 2),
  1054. writable: !(bitmap & 4),
  1055. value: value
  1056. };
  1057. };
  1058. },{}],53:[function(require,module,exports){
  1059. var global = require('./_global');
  1060. var hide = require('./_hide');
  1061. var has = require('./_has');
  1062. var SRC = require('./_uid')('src');
  1063. var TO_STRING = 'toString';
  1064. var $toString = Function[TO_STRING];
  1065. var TPL = ('' + $toString).split(TO_STRING);
  1066. require('./_core').inspectSource = function (it) {
  1067. return $toString.call(it);
  1068. };
  1069. (module.exports = function (O, key, val, safe) {
  1070. var isFunction = typeof val == 'function';
  1071. if (isFunction) has(val, 'name') || hide(val, 'name', key);
  1072. if (O[key] === val) return;
  1073. if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
  1074. if (O === global) {
  1075. O[key] = val;
  1076. } else if (!safe) {
  1077. delete O[key];
  1078. hide(O, key, val);
  1079. } else if (O[key]) {
  1080. O[key] = val;
  1081. } else {
  1082. hide(O, key, val);
  1083. }
  1084. // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
  1085. })(Function.prototype, TO_STRING, function toString() {
  1086. return typeof this == 'function' && this[SRC] || $toString.call(this);
  1087. });
  1088. },{"./_core":18,"./_global":28,"./_has":29,"./_hide":30,"./_uid":66}],54:[function(require,module,exports){
  1089. var shared = require('./_shared')('keys');
  1090. var uid = require('./_uid');
  1091. module.exports = function (key) {
  1092. return shared[key] || (shared[key] = uid(key));
  1093. };
  1094. },{"./_shared":55,"./_uid":66}],55:[function(require,module,exports){
  1095. var core = require('./_core');
  1096. var global = require('./_global');
  1097. var SHARED = '__core-js_shared__';
  1098. var store = global[SHARED] || (global[SHARED] = {});
  1099. (module.exports = function (key, value) {
  1100. return store[key] || (store[key] = value !== undefined ? value : {});
  1101. })('versions', []).push({
  1102. version: core.version,
  1103. mode: require('./_library') ? 'pure' : 'global',
  1104. copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
  1105. });
  1106. },{"./_core":18,"./_global":28,"./_library":37}],56:[function(require,module,exports){
  1107. 'use strict';
  1108. var fails = require('./_fails');
  1109. module.exports = function (method, arg) {
  1110. return !!method && fails(function () {
  1111. // eslint-disable-next-line no-useless-call
  1112. arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
  1113. });
  1114. };
  1115. },{"./_fails":26}],57:[function(require,module,exports){
  1116. 'use strict';
  1117. var toInteger = require('./_to-integer');
  1118. var defined = require('./_defined');
  1119. module.exports = function repeat(count) {
  1120. var str = String(defined(this));
  1121. var res = '';
  1122. var n = toInteger(count);
  1123. if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
  1124. for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;
  1125. return res;
  1126. };
  1127. },{"./_defined":21,"./_to-integer":61}],58:[function(require,module,exports){
  1128. var $export = require('./_export');
  1129. var defined = require('./_defined');
  1130. var fails = require('./_fails');
  1131. var spaces = require('./_string-ws');
  1132. var space = '[' + spaces + ']';
  1133. var non = '\u200b\u0085';
  1134. var ltrim = RegExp('^' + space + space + '*');
  1135. var rtrim = RegExp(space + space + '*$');
  1136. var exporter = function (KEY, exec, ALIAS) {
  1137. var exp = {};
  1138. var FORCE = fails(function () {
  1139. return !!spaces[KEY]() || non[KEY]() != non;
  1140. });
  1141. var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
  1142. if (ALIAS) exp[ALIAS] = fn;
  1143. $export($export.P + $export.F * FORCE, 'String', exp);
  1144. };
  1145. // 1 -> String#trimLeft
  1146. // 2 -> String#trimRight
  1147. // 3 -> String#trim
  1148. var trim = exporter.trim = function (string, TYPE) {
  1149. string = String(defined(string));
  1150. if (TYPE & 1) string = string.replace(ltrim, '');
  1151. if (TYPE & 2) string = string.replace(rtrim, '');
  1152. return string;
  1153. };
  1154. module.exports = exporter;
  1155. },{"./_defined":21,"./_export":25,"./_fails":26,"./_string-ws":59}],59:[function(require,module,exports){
  1156. module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
  1157. '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
  1158. },{}],60:[function(require,module,exports){
  1159. var toInteger = require('./_to-integer');
  1160. var max = Math.max;
  1161. var min = Math.min;
  1162. module.exports = function (index, length) {
  1163. index = toInteger(index);
  1164. return index < 0 ? max(index + length, 0) : min(index, length);
  1165. };
  1166. },{"./_to-integer":61}],61:[function(require,module,exports){
  1167. // 7.1.4 ToInteger
  1168. var ceil = Math.ceil;
  1169. var floor = Math.floor;
  1170. module.exports = function (it) {
  1171. return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
  1172. };
  1173. },{}],62:[function(require,module,exports){
  1174. // to indexed object, toObject with fallback for non-array-like ES3 strings
  1175. var IObject = require('./_iobject');
  1176. var defined = require('./_defined');
  1177. module.exports = function (it) {
  1178. return IObject(defined(it));
  1179. };
  1180. },{"./_defined":21,"./_iobject":34}],63:[function(require,module,exports){
  1181. // 7.1.15 ToLength
  1182. var toInteger = require('./_to-integer');
  1183. var min = Math.min;
  1184. module.exports = function (it) {
  1185. return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
  1186. };
  1187. },{"./_to-integer":61}],64:[function(require,module,exports){
  1188. // 7.1.13 ToObject(argument)
  1189. var defined = require('./_defined');
  1190. module.exports = function (it) {
  1191. return Object(defined(it));
  1192. };
  1193. },{"./_defined":21}],65:[function(require,module,exports){
  1194. // 7.1.1 ToPrimitive(input [, PreferredType])
  1195. var isObject = require('./_is-object');
  1196. // instead of the ES6 spec version, we didn't implement @@toPrimitive case
  1197. // and the second argument - flag - preferred type is a string
  1198. module.exports = function (it, S) {
  1199. if (!isObject(it)) return it;
  1200. var fn, val;
  1201. if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
  1202. if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
  1203. if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
  1204. throw TypeError("Can't convert object to primitive value");
  1205. };
  1206. },{"./_is-object":36}],66:[function(require,module,exports){
  1207. var id = 0;
  1208. var px = Math.random();
  1209. module.exports = function (key) {
  1210. return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
  1211. };
  1212. },{}],67:[function(require,module,exports){
  1213. var store = require('./_shared')('wks');
  1214. var uid = require('./_uid');
  1215. var Symbol = require('./_global').Symbol;
  1216. var USE_SYMBOL = typeof Symbol == 'function';
  1217. var $exports = module.exports = function (name) {
  1218. return store[name] || (store[name] =
  1219. USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
  1220. };
  1221. $exports.store = store;
  1222. },{"./_global":28,"./_shared":55,"./_uid":66}],68:[function(require,module,exports){
  1223. 'use strict';
  1224. var $export = require('./_export');
  1225. var $every = require('./_array-methods')(4);
  1226. $export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {
  1227. // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
  1228. every: function every(callbackfn /* , thisArg */) {
  1229. return $every(this, callbackfn, arguments[1]);
  1230. }
  1231. });
  1232. },{"./_array-methods":12,"./_export":25,"./_strict-method":56}],69:[function(require,module,exports){
  1233. 'use strict';
  1234. var $export = require('./_export');
  1235. var $filter = require('./_array-methods')(2);
  1236. $export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {
  1237. // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
  1238. filter: function filter(callbackfn /* , thisArg */) {
  1239. return $filter(this, callbackfn, arguments[1]);
  1240. }
  1241. });
  1242. },{"./_array-methods":12,"./_export":25,"./_strict-method":56}],70:[function(require,module,exports){
  1243. 'use strict';
  1244. var $export = require('./_export');
  1245. var $forEach = require('./_array-methods')(0);
  1246. var STRICT = require('./_strict-method')([].forEach, true);
  1247. $export($export.P + $export.F * !STRICT, 'Array', {
  1248. // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
  1249. forEach: function forEach(callbackfn /* , thisArg */) {
  1250. return $forEach(this, callbackfn, arguments[1]);
  1251. }
  1252. });
  1253. },{"./_array-methods":12,"./_export":25,"./_strict-method":56}],71:[function(require,module,exports){
  1254. 'use strict';
  1255. var $export = require('./_export');
  1256. var $indexOf = require('./_array-includes')(false);
  1257. var $native = [].indexOf;
  1258. var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
  1259. $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
  1260. // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
  1261. indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
  1262. return NEGATIVE_ZERO
  1263. // convert -0 to +0
  1264. ? $native.apply(this, arguments) || 0
  1265. : $indexOf(this, searchElement, arguments[1]);
  1266. }
  1267. });
  1268. },{"./_array-includes":11,"./_export":25,"./_strict-method":56}],72:[function(require,module,exports){
  1269. // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
  1270. var $export = require('./_export');
  1271. $export($export.S, 'Array', { isArray: require('./_is-array') });
  1272. },{"./_export":25,"./_is-array":35}],73:[function(require,module,exports){
  1273. 'use strict';
  1274. // 22.1.3.13 Array.prototype.join(separator)
  1275. var $export = require('./_export');
  1276. var toIObject = require('./_to-iobject');
  1277. var arrayJoin = [].join;
  1278. // fallback for not array-like strings
  1279. $export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {
  1280. join: function join(separator) {
  1281. return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
  1282. }
  1283. });
  1284. },{"./_export":25,"./_iobject":34,"./_strict-method":56,"./_to-iobject":62}],74:[function(require,module,exports){
  1285. 'use strict';
  1286. var $export = require('./_export');
  1287. var toIObject = require('./_to-iobject');
  1288. var toInteger = require('./_to-integer');
  1289. var toLength = require('./_to-length');
  1290. var $native = [].lastIndexOf;
  1291. var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
  1292. $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
  1293. // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
  1294. lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
  1295. // convert -0 to +0
  1296. if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
  1297. var O = toIObject(this);
  1298. var length = toLength(O.length);
  1299. var index = length - 1;
  1300. if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
  1301. if (index < 0) index = length + index;
  1302. for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;
  1303. return -1;
  1304. }
  1305. });
  1306. },{"./_export":25,"./_strict-method":56,"./_to-integer":61,"./_to-iobject":62,"./_to-length":63}],75:[function(require,module,exports){
  1307. 'use strict';
  1308. var $export = require('./_export');
  1309. var $map = require('./_array-methods')(1);
  1310. $export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {
  1311. // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
  1312. map: function map(callbackfn /* , thisArg */) {
  1313. return $map(this, callbackfn, arguments[1]);
  1314. }
  1315. });
  1316. },{"./_array-methods":12,"./_export":25,"./_strict-method":56}],76:[function(require,module,exports){
  1317. 'use strict';
  1318. var $export = require('./_export');
  1319. var $reduce = require('./_array-reduce');
  1320. $export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {
  1321. // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
  1322. reduceRight: function reduceRight(callbackfn /* , initialValue */) {
  1323. return $reduce(this, callbackfn, arguments.length, arguments[1], true);
  1324. }
  1325. });
  1326. },{"./_array-reduce":13,"./_export":25,"./_strict-method":56}],77:[function(require,module,exports){
  1327. 'use strict';
  1328. var $export = require('./_export');
  1329. var $reduce = require('./_array-reduce');
  1330. $export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {
  1331. // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
  1332. reduce: function reduce(callbackfn /* , initialValue */) {
  1333. return $reduce(this, callbackfn, arguments.length, arguments[1], false);
  1334. }
  1335. });
  1336. },{"./_array-reduce":13,"./_export":25,"./_strict-method":56}],78:[function(require,module,exports){
  1337. 'use strict';
  1338. var $export = require('./_export');
  1339. var html = require('./_html');
  1340. var cof = require('./_cof');
  1341. var toAbsoluteIndex = require('./_to-absolute-index');
  1342. var toLength = require('./_to-length');
  1343. var arraySlice = [].slice;
  1344. // fallback for not array-like ES3 strings and DOM objects
  1345. $export($export.P + $export.F * require('./_fails')(function () {
  1346. if (html) arraySlice.call(html);
  1347. }), 'Array', {
  1348. slice: function slice(begin, end) {
  1349. var len = toLength(this.length);
  1350. var klass = cof(this);
  1351. end = end === undefined ? len : end;
  1352. if (klass == 'Array') return arraySlice.call(this, begin, end);
  1353. var start = toAbsoluteIndex(begin, len);
  1354. var upTo = toAbsoluteIndex(end, len);
  1355. var size = toLength(upTo - start);
  1356. var cloned = new Array(size);
  1357. var i = 0;
  1358. for (; i < size; i++) cloned[i] = klass == 'String'
  1359. ? this.charAt(start + i)
  1360. : this[start + i];
  1361. return cloned;
  1362. }
  1363. });
  1364. },{"./_cof":17,"./_export":25,"./_fails":26,"./_html":31,"./_to-absolute-index":60,"./_to-length":63}],79:[function(require,module,exports){
  1365. 'use strict';
  1366. var $export = require('./_export');
  1367. var $some = require('./_array-methods')(3);
  1368. $export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {
  1369. // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
  1370. some: function some(callbackfn /* , thisArg */) {
  1371. return $some(this, callbackfn, arguments[1]);
  1372. }
  1373. });
  1374. },{"./_array-methods":12,"./_export":25,"./_strict-method":56}],80:[function(require,module,exports){
  1375. 'use strict';
  1376. var $export = require('./_export');
  1377. var aFunction = require('./_a-function');
  1378. var toObject = require('./_to-object');
  1379. var fails = require('./_fails');
  1380. var $sort = [].sort;
  1381. var test = [1, 2, 3];
  1382. $export($export.P + $export.F * (fails(function () {
  1383. // IE8-
  1384. test.sort(undefined);
  1385. }) || !fails(function () {
  1386. // V8 bug
  1387. test.sort(null);
  1388. // Old WebKit
  1389. }) || !require('./_strict-method')($sort)), 'Array', {
  1390. // 22.1.3.25 Array.prototype.sort(comparefn)
  1391. sort: function sort(comparefn) {
  1392. return comparefn === undefined
  1393. ? $sort.call(toObject(this))
  1394. : $sort.call(toObject(this), aFunction(comparefn));
  1395. }
  1396. });
  1397. },{"./_a-function":8,"./_export":25,"./_fails":26,"./_strict-method":56,"./_to-object":64}],81:[function(require,module,exports){
  1398. // 20.3.3.1 / 15.9.4.4 Date.now()
  1399. var $export = require('./_export');
  1400. $export($export.S, 'Date', { now: function () { return new Date().getTime(); } });
  1401. },{"./_export":25}],82:[function(require,module,exports){
  1402. // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
  1403. var $export = require('./_export');
  1404. var toISOString = require('./_date-to-iso-string');
  1405. // PhantomJS / old WebKit has a broken implementations
  1406. $export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {
  1407. toISOString: toISOString
  1408. });
  1409. },{"./_date-to-iso-string":20,"./_export":25}],83:[function(require,module,exports){
  1410. 'use strict';
  1411. var $export = require('./_export');
  1412. var toObject = require('./_to-object');
  1413. var toPrimitive = require('./_to-primitive');
  1414. $export($export.P + $export.F * require('./_fails')(function () {
  1415. return new Date(NaN).toJSON() !== null
  1416. || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
  1417. }), 'Date', {
  1418. // eslint-disable-next-line no-unused-vars
  1419. toJSON: function toJSON(key) {
  1420. var O = toObject(this);
  1421. var pv = toPrimitive(O);
  1422. return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
  1423. }
  1424. });
  1425. },{"./_export":25,"./_fails":26,"./_to-object":64,"./_to-primitive":65}],84:[function(require,module,exports){
  1426. // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
  1427. var $export = require('./_export');
  1428. $export($export.P, 'Function', { bind: require('./_bind') });
  1429. },{"./_bind":16,"./_export":25}],85:[function(require,module,exports){
  1430. 'use strict';
  1431. var $export = require('./_export');
  1432. var toInteger = require('./_to-integer');
  1433. var aNumberValue = require('./_a-number-value');
  1434. var repeat = require('./_string-repeat');
  1435. var $toFixed = 1.0.toFixed;
  1436. var floor = Math.floor;
  1437. var data = [0, 0, 0, 0, 0, 0];
  1438. var ERROR = 'Number.toFixed: incorrect invocation!';
  1439. var ZERO = '0';
  1440. var multiply = function (n, c) {
  1441. var i = -1;
  1442. var c2 = c;
  1443. while (++i < 6) {
  1444. c2 += n * data[i];
  1445. data[i] = c2 % 1e7;
  1446. c2 = floor(c2 / 1e7);
  1447. }
  1448. };
  1449. var divide = function (n) {
  1450. var i = 6;
  1451. var c = 0;
  1452. while (--i >= 0) {
  1453. c += data[i];
  1454. data[i] = floor(c / n);
  1455. c = (c % n) * 1e7;
  1456. }
  1457. };
  1458. var numToString = function () {
  1459. var i = 6;
  1460. var s = '';
  1461. while (--i >= 0) {
  1462. if (s !== '' || i === 0 || data[i] !== 0) {
  1463. var t = String(data[i]);
  1464. s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
  1465. }
  1466. } return s;
  1467. };
  1468. var pow = function (x, n, acc) {
  1469. return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
  1470. };
  1471. var log = function (x) {
  1472. var n = 0;
  1473. var x2 = x;
  1474. while (x2 >= 4096) {
  1475. n += 12;
  1476. x2 /= 4096;
  1477. }
  1478. while (x2 >= 2) {
  1479. n += 1;
  1480. x2 /= 2;
  1481. } return n;
  1482. };
  1483. $export($export.P + $export.F * (!!$toFixed && (
  1484. 0.00008.toFixed(3) !== '0.000' ||
  1485. 0.9.toFixed(0) !== '1' ||
  1486. 1.255.toFixed(2) !== '1.25' ||
  1487. 1000000000000000128.0.toFixed(0) !== '1000000000000000128'
  1488. ) || !require('./_fails')(function () {
  1489. // V8 ~ Android 4.3-
  1490. $toFixed.call({});
  1491. })), 'Number', {
  1492. toFixed: function toFixed(fractionDigits) {
  1493. var x = aNumberValue(this, ERROR);
  1494. var f = toInteger(fractionDigits);
  1495. var s = '';
  1496. var m = ZERO;
  1497. var e, z, j, k;
  1498. if (f < 0 || f > 20) throw RangeError(ERROR);
  1499. // eslint-disable-next-line no-self-compare
  1500. if (x != x) return 'NaN';
  1501. if (x <= -1e21 || x >= 1e21) return String(x);
  1502. if (x < 0) {
  1503. s = '-';
  1504. x = -x;
  1505. }
  1506. if (x > 1e-21) {
  1507. e = log(x * pow(2, 69, 1)) - 69;
  1508. z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
  1509. z *= 0x10000000000000;
  1510. e = 52 - e;
  1511. if (e > 0) {
  1512. multiply(0, z);
  1513. j = f;
  1514. while (j >= 7) {
  1515. multiply(1e7, 0);
  1516. j -= 7;
  1517. }
  1518. multiply(pow(10, j, 1), 0);
  1519. j = e - 1;
  1520. while (j >= 23) {
  1521. divide(1 << 23);
  1522. j -= 23;
  1523. }
  1524. divide(1 << j);
  1525. multiply(1, 1);
  1526. divide(2);
  1527. m = numToString();
  1528. } else {
  1529. multiply(0, z);
  1530. multiply(1 << -e, 0);
  1531. m = numToString() + repeat.call(ZERO, f);
  1532. }
  1533. }
  1534. if (f > 0) {
  1535. k = m.length;
  1536. m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
  1537. } else {
  1538. m = s + m;
  1539. } return m;
  1540. }
  1541. });
  1542. },{"./_a-number-value":9,"./_export":25,"./_fails":26,"./_string-repeat":57,"./_to-integer":61}],86:[function(require,module,exports){
  1543. 'use strict';
  1544. var $export = require('./_export');
  1545. var $fails = require('./_fails');
  1546. var aNumberValue = require('./_a-number-value');
  1547. var $toPrecision = 1.0.toPrecision;
  1548. $export($export.P + $export.F * ($fails(function () {
  1549. // IE7-
  1550. return $toPrecision.call(1, undefined) !== '1';
  1551. }) || !$fails(function () {
  1552. // V8 ~ Android 4.3-
  1553. $toPrecision.call({});
  1554. })), 'Number', {
  1555. toPrecision: function toPrecision(precision) {
  1556. var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
  1557. return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
  1558. }
  1559. });
  1560. },{"./_a-number-value":9,"./_export":25,"./_fails":26}],87:[function(require,module,exports){
  1561. var $export = require('./_export');
  1562. // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  1563. $export($export.S, 'Object', { create: require('./_object-create') });
  1564. },{"./_export":25,"./_object-create":39}],88:[function(require,module,exports){
  1565. var $export = require('./_export');
  1566. // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
  1567. $export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });
  1568. },{"./_descriptors":22,"./_export":25,"./_object-dps":41}],89:[function(require,module,exports){
  1569. var $export = require('./_export');
  1570. // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
  1571. $export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });
  1572. },{"./_descriptors":22,"./_export":25,"./_object-dp":40}],90:[function(require,module,exports){
  1573. // 19.1.2.5 Object.freeze(O)
  1574. var isObject = require('./_is-object');
  1575. var meta = require('./_meta').onFreeze;
  1576. require('./_object-sap')('freeze', function ($freeze) {
  1577. return function freeze(it) {
  1578. return $freeze && isObject(it) ? $freeze(meta(it)) : it;
  1579. };
  1580. });
  1581. },{"./_is-object":36,"./_meta":38,"./_object-sap":49}],91:[function(require,module,exports){
  1582. // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  1583. var toIObject = require('./_to-iobject');
  1584. var $getOwnPropertyDescriptor = require('./_object-gopd').f;
  1585. require('./_object-sap')('getOwnPropertyDescriptor', function () {
  1586. return function getOwnPropertyDescriptor(it, key) {
  1587. return $getOwnPropertyDescriptor(toIObject(it), key);
  1588. };
  1589. });
  1590. },{"./_object-gopd":42,"./_object-sap":49,"./_to-iobject":62}],92:[function(require,module,exports){
  1591. // 19.1.2.7 Object.getOwnPropertyNames(O)
  1592. require('./_object-sap')('getOwnPropertyNames', function () {
  1593. return require('./_object-gopn-ext').f;
  1594. });
  1595. },{"./_object-gopn-ext":43,"./_object-sap":49}],93:[function(require,module,exports){
  1596. // 19.1.2.9 Object.getPrototypeOf(O)
  1597. var toObject = require('./_to-object');
  1598. var $getPrototypeOf = require('./_object-gpo');
  1599. require('./_object-sap')('getPrototypeOf', function () {
  1600. return function getPrototypeOf(it) {
  1601. return $getPrototypeOf(toObject(it));
  1602. };
  1603. });
  1604. },{"./_object-gpo":45,"./_object-sap":49,"./_to-object":64}],94:[function(require,module,exports){
  1605. // 19.1.2.11 Object.isExtensible(O)
  1606. var isObject = require('./_is-object');
  1607. require('./_object-sap')('isExtensible', function ($isExtensible) {
  1608. return function isExtensible(it) {
  1609. return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
  1610. };
  1611. });
  1612. },{"./_is-object":36,"./_object-sap":49}],95:[function(require,module,exports){
  1613. // 19.1.2.12 Object.isFrozen(O)
  1614. var isObject = require('./_is-object');
  1615. require('./_object-sap')('isFrozen', function ($isFrozen) {
  1616. return function isFrozen(it) {
  1617. return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
  1618. };
  1619. });
  1620. },{"./_is-object":36,"./_object-sap":49}],96:[function(require,module,exports){
  1621. // 19.1.2.13 Object.isSealed(O)
  1622. var isObject = require('./_is-object');
  1623. require('./_object-sap')('isSealed', function ($isSealed) {
  1624. return function isSealed(it) {
  1625. return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
  1626. };
  1627. });
  1628. },{"./_is-object":36,"./_object-sap":49}],97:[function(require,module,exports){
  1629. // 19.1.2.14 Object.keys(O)
  1630. var toObject = require('./_to-object');
  1631. var $keys = require('./_object-keys');
  1632. require('./_object-sap')('keys', function () {
  1633. return function keys(it) {
  1634. return $keys(toObject(it));
  1635. };
  1636. });
  1637. },{"./_object-keys":47,"./_object-sap":49,"./_to-object":64}],98:[function(require,module,exports){
  1638. // 19.1.2.15 Object.preventExtensions(O)
  1639. var isObject = require('./_is-object');
  1640. var meta = require('./_meta').onFreeze;
  1641. require('./_object-sap')('preventExtensions', function ($preventExtensions) {
  1642. return function preventExtensions(it) {
  1643. return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
  1644. };
  1645. });
  1646. },{"./_is-object":36,"./_meta":38,"./_object-sap":49}],99:[function(require,module,exports){
  1647. // 19.1.2.17 Object.seal(O)
  1648. var isObject = require('./_is-object');
  1649. var meta = require('./_meta').onFreeze;
  1650. require('./_object-sap')('seal', function ($seal) {
  1651. return function seal(it) {
  1652. return $seal && isObject(it) ? $seal(meta(it)) : it;
  1653. };
  1654. });
  1655. },{"./_is-object":36,"./_meta":38,"./_object-sap":49}],100:[function(require,module,exports){
  1656. var $export = require('./_export');
  1657. var $parseFloat = require('./_parse-float');
  1658. // 18.2.4 parseFloat(string)
  1659. $export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });
  1660. },{"./_export":25,"./_parse-float":50}],101:[function(require,module,exports){
  1661. var $export = require('./_export');
  1662. var $parseInt = require('./_parse-int');
  1663. // 18.2.5 parseInt(string, radix)
  1664. $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
  1665. },{"./_export":25,"./_parse-int":51}],102:[function(require,module,exports){
  1666. // 21.2.5.3 get RegExp.prototype.flags()
  1667. if (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {
  1668. configurable: true,
  1669. get: require('./_flags')
  1670. });
  1671. },{"./_descriptors":22,"./_flags":27,"./_object-dp":40}],103:[function(require,module,exports){
  1672. 'use strict';
  1673. require('./es6.regexp.flags');
  1674. var anObject = require('./_an-object');
  1675. var $flags = require('./_flags');
  1676. var DESCRIPTORS = require('./_descriptors');
  1677. var TO_STRING = 'toString';
  1678. var $toString = /./[TO_STRING];
  1679. var define = function (fn) {
  1680. require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);
  1681. };
  1682. // 21.2.5.14 RegExp.prototype.toString()
  1683. if (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
  1684. define(function toString() {
  1685. var R = anObject(this);
  1686. return '/'.concat(R.source, '/',
  1687. 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
  1688. });
  1689. // FF44- RegExp#toString has a wrong name
  1690. } else if ($toString.name != TO_STRING) {
  1691. define(function toString() {
  1692. return $toString.call(this);
  1693. });
  1694. }
  1695. },{"./_an-object":10,"./_descriptors":22,"./_fails":26,"./_flags":27,"./_redefine":53,"./es6.regexp.flags":102}],104:[function(require,module,exports){
  1696. 'use strict';
  1697. // 21.1.3.25 String.prototype.trim()
  1698. require('./_string-trim')('trim', function ($trim) {
  1699. return function trim() {
  1700. return $trim(this, 3);
  1701. };
  1702. });
  1703. },{"./_string-trim":58}],105:[function(require,module,exports){
  1704. /**
  1705. * Module dependencies.
  1706. */
  1707. var extend = require('extend');
  1708. var encode = require('ent/encode');
  1709. var CustomEvent = require('custom-event');
  1710. var voidElements = require('void-elements');
  1711. /**
  1712. * Module exports.
  1713. */
  1714. exports = module.exports = serialize;
  1715. exports.serializeElement = serializeElement;
  1716. exports.serializeAttribute = serializeAttribute;
  1717. exports.serializeText = serializeText;
  1718. exports.serializeComment = serializeComment;
  1719. exports.serializeDocument = serializeDocument;
  1720. exports.serializeDoctype = serializeDoctype;
  1721. exports.serializeDocumentFragment = serializeDocumentFragment;
  1722. exports.serializeNodeList = serializeNodeList;
  1723. /**
  1724. * Serializes any DOM node. Returns a string.
  1725. *
  1726. * @param {Node} node - DOM Node to serialize
  1727. * @param {String} [context] - optional arbitrary "context" string to use (useful for event listeners)
  1728. * @param {Function} [fn] - optional callback function to use in the "serialize" event for this call
  1729. * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the "serialize" event on (defaults to `node`)
  1730. * return {String}
  1731. * @public
  1732. */
  1733. function serialize (node, context, fn, eventTarget) {
  1734. if (!node) return '';
  1735. if ('function' === typeof context) {
  1736. fn = context;
  1737. context = null;
  1738. }
  1739. if (!context) context = null;
  1740. var rtn;
  1741. var nodeType = node.nodeType;
  1742. if (!nodeType && 'number' === typeof node.length) {
  1743. // assume it's a NodeList or Array of Nodes
  1744. rtn = exports.serializeNodeList(node, context, fn);
  1745. } else {
  1746. if ('function' === typeof fn) {
  1747. // one-time "serialize" event listener
  1748. node.addEventListener('serialize', fn, false);
  1749. }
  1750. // emit a custom "serialize" event on `node`, in case there
  1751. // are event listeners for custom serialization of this node
  1752. var e = new CustomEvent('serialize', {
  1753. bubbles: true,
  1754. cancelable: true,
  1755. detail: {
  1756. serialize: null,
  1757. context: context
  1758. }
  1759. });
  1760. e.serializeTarget = node;
  1761. var target = eventTarget || node;
  1762. var cancelled = !target.dispatchEvent(e);
  1763. // `e.detail.serialize` can be set to a:
  1764. // String - returned directly
  1765. // Node - goes through serializer logic instead of `node`
  1766. // Anything else - get Stringified first, and then returned directly
  1767. var s = e.detail.serialize;
  1768. if (s != null) {
  1769. if ('string' === typeof s) {
  1770. rtn = s;
  1771. } else if ('number' === typeof s.nodeType) {
  1772. // make it go through the serialization logic
  1773. rtn = serialize(s, context, null, target);
  1774. } else {
  1775. rtn = String(s);
  1776. }
  1777. } else if (!cancelled) {
  1778. // default serialization logic
  1779. switch (nodeType) {
  1780. case 1 /* element */:
  1781. rtn = exports.serializeElement(node, context, eventTarget);
  1782. break;
  1783. case 2 /* attribute */:
  1784. rtn = exports.serializeAttribute(node);
  1785. break;
  1786. case 3 /* text */:
  1787. rtn = exports.serializeText(node);
  1788. break;
  1789. case 8 /* comment */:
  1790. rtn = exports.serializeComment(node);
  1791. break;
  1792. case 9 /* document */:
  1793. rtn = exports.serializeDocument(node, context, eventTarget);
  1794. break;
  1795. case 10 /* doctype */:
  1796. rtn = exports.serializeDoctype(node);
  1797. break;
  1798. case 11 /* document fragment */:
  1799. rtn = exports.serializeDocumentFragment(node, context, eventTarget);
  1800. break;
  1801. }
  1802. }
  1803. if ('function' === typeof fn) {
  1804. node.removeEventListener('serialize', fn, false);
  1805. }
  1806. }
  1807. return rtn || '';
  1808. }
  1809. /**
  1810. * Serialize an Attribute node.
  1811. */
  1812. function serializeAttribute (node, opts) {
  1813. return node.name + '="' + encode(node.value, extend({
  1814. named: true
  1815. }, opts)) + '"';
  1816. }
  1817. /**
  1818. * Serialize a DOM element.
  1819. */
  1820. function serializeElement (node, context, eventTarget) {
  1821. var c, i, l;
  1822. var name = node.nodeName.toLowerCase();
  1823. // opening tag
  1824. var r = '<' + name;
  1825. // attributes
  1826. for (i = 0, c = node.attributes, l = c.length; i < l; i++) {
  1827. r += ' ' + exports.serializeAttribute(c[i]);
  1828. }
  1829. r += '>';
  1830. // child nodes
  1831. r += exports.serializeNodeList(node.childNodes, context, null, eventTarget);
  1832. // closing tag, only for non-void elements
  1833. if (!voidElements[name]) {
  1834. r += '</' + name + '>';
  1835. }
  1836. return r;
  1837. }
  1838. /**
  1839. * Serialize a text node.
  1840. */
  1841. function serializeText (node, opts) {
  1842. return encode(node.nodeValue, extend({
  1843. named: true,
  1844. special: { '<': true, '>': true, '&': true }
  1845. }, opts));
  1846. }
  1847. /**
  1848. * Serialize a comment node.
  1849. */
  1850. function serializeComment (node) {
  1851. return '<!--' + node.nodeValue + '-->';
  1852. }
  1853. /**
  1854. * Serialize a Document node.
  1855. */
  1856. function serializeDocument (node, context, eventTarget) {
  1857. return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
  1858. }
  1859. /**
  1860. * Serialize a DOCTYPE node.
  1861. * See: http://stackoverflow.com/a/10162353
  1862. */
  1863. function serializeDoctype (node) {
  1864. var r = '<!DOCTYPE ' + node.name;
  1865. if (node.publicId) {
  1866. r += ' PUBLIC "' + node.publicId + '"';
  1867. }
  1868. if (!node.publicId && node.systemId) {
  1869. r += ' SYSTEM';
  1870. }
  1871. if (node.systemId) {
  1872. r += ' "' + node.systemId + '"';
  1873. }
  1874. r += '>';
  1875. return r;
  1876. }
  1877. /**
  1878. * Serialize a DocumentFragment instance.
  1879. */
  1880. function serializeDocumentFragment (node, context, eventTarget) {
  1881. return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
  1882. }
  1883. /**
  1884. * Serialize a NodeList/Array of nodes.
  1885. */
  1886. function serializeNodeList (list, context, fn, eventTarget) {
  1887. var r = '';
  1888. for (var i = 0, l = list.length; i < l; i++) {
  1889. r += serialize(list[i], context, fn, eventTarget);
  1890. }
  1891. return r;
  1892. }
  1893. },{"custom-event":106,"ent/encode":107,"extend":109,"void-elements":110}],106:[function(require,module,exports){
  1894. (function (global){
  1895. var NativeCustomEvent = global.CustomEvent;
  1896. function useNative () {
  1897. try {
  1898. var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
  1899. return 'cat' === p.type && 'bar' === p.detail.foo;
  1900. } catch (e) {
  1901. }
  1902. return false;
  1903. }
  1904. /**
  1905. * Cross-browser `CustomEvent` constructor.
  1906. *
  1907. * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
  1908. *
  1909. * @public
  1910. */
  1911. module.exports = useNative() ? NativeCustomEvent :
  1912. // IE >= 9
  1913. 'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {
  1914. var e = document.createEvent('CustomEvent');
  1915. if (params) {
  1916. e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
  1917. } else {
  1918. e.initCustomEvent(type, false, false, void 0);
  1919. }
  1920. return e;
  1921. } :
  1922. // IE <= 8
  1923. function CustomEvent (type, params) {
  1924. var e = document.createEventObject();
  1925. e.type = type;
  1926. if (params) {
  1927. e.bubbles = Boolean(params.bubbles);
  1928. e.cancelable = Boolean(params.cancelable);
  1929. e.detail = params.detail;
  1930. } else {
  1931. e.bubbles = false;
  1932. e.cancelable = false;
  1933. e.detail = void 0;
  1934. }
  1935. return e;
  1936. }
  1937. }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  1938. },{}],107:[function(require,module,exports){
  1939. var punycode = require('punycode');
  1940. var revEntities = require('./reversed.json');
  1941. module.exports = encode;
  1942. function encode (str, opts) {
  1943. if (typeof str !== 'string') {
  1944. throw new TypeError('Expected a String');
  1945. }
  1946. if (!opts) opts = {};
  1947. var numeric = true;
  1948. if (opts.named) numeric = false;
  1949. if (opts.numeric !== undefined) numeric = opts.numeric;
  1950. var special = opts.special || {
  1951. '"': true, "'": true,
  1952. '<': true, '>': true,
  1953. '&': true
  1954. };
  1955. var codePoints = punycode.ucs2.decode(str);
  1956. var chars = [];
  1957. for (var i = 0; i < codePoints.length; i++) {
  1958. var cc = codePoints[i];
  1959. var c = punycode.ucs2.encode([ cc ]);
  1960. var e = revEntities[cc];
  1961. if (e && (cc >= 127 || special[c]) && !numeric) {
  1962. chars.push('&' + (/;$/.test(e) ? e : e + ';'));
  1963. }
  1964. else if (cc < 32 || cc >= 127 || special[c]) {
  1965. chars.push('&#' + cc + ';');
  1966. }
  1967. else {
  1968. chars.push(c);
  1969. }
  1970. }
  1971. return chars.join('');
  1972. }
  1973. },{"./reversed.json":108,"punycode":111}],108:[function(require,module,exports){
  1974. module.exports={
  1975. "9": "Tab;",
  1976. "10": "NewLine;",
  1977. "33": "excl;",
  1978. "34": "quot;",
  1979. "35": "num;",
  1980. "36": "dollar;",
  1981. "37": "percnt;",
  1982. "38": "amp;",
  1983. "39": "apos;",
  1984. "40": "lpar;",
  1985. "41": "rpar;",
  1986. "42": "midast;",
  1987. "43": "plus;",
  1988. "44": "comma;",
  1989. "46": "period;",
  1990. "47": "sol;",
  1991. "58": "colon;",
  1992. "59": "semi;",
  1993. "60": "lt;",
  1994. "61": "equals;",
  1995. "62": "gt;",
  1996. "63": "quest;",
  1997. "64": "commat;",
  1998. "91": "lsqb;",
  1999. "92": "bsol;",
  2000. "93": "rsqb;",
  2001. "94": "Hat;",
  2002. "95": "UnderBar;",
  2003. "96": "grave;",
  2004. "123": "lcub;",
  2005. "124": "VerticalLine;",
  2006. "125": "rcub;",
  2007. "160": "NonBreakingSpace;",
  2008. "161": "iexcl;",
  2009. "162": "cent;",
  2010. "163": "pound;",
  2011. "164": "curren;",
  2012. "165": "yen;",
  2013. "166": "brvbar;",
  2014. "167": "sect;",
  2015. "168": "uml;",
  2016. "169": "copy;",
  2017. "170": "ordf;",
  2018. "171": "laquo;",
  2019. "172": "not;",
  2020. "173": "shy;",
  2021. "174": "reg;",
  2022. "175": "strns;",
  2023. "176": "deg;",
  2024. "177": "pm;",
  2025. "178": "sup2;",
  2026. "179": "sup3;",
  2027. "180": "DiacriticalAcute;",
  2028. "181": "micro;",
  2029. "182": "para;",
  2030. "183": "middot;",
  2031. "184": "Cedilla;",
  2032. "185": "sup1;",
  2033. "186": "ordm;",
  2034. "187": "raquo;",
  2035. "188": "frac14;",
  2036. "189": "half;",
  2037. "190": "frac34;",
  2038. "191": "iquest;",
  2039. "192": "Agrave;",
  2040. "193": "Aacute;",
  2041. "194": "Acirc;",
  2042. "195": "Atilde;",
  2043. "196": "Auml;",
  2044. "197": "Aring;",
  2045. "198": "AElig;",
  2046. "199": "Ccedil;",
  2047. "200": "Egrave;",
  2048. "201": "Eacute;",
  2049. "202": "Ecirc;",
  2050. "203": "Euml;",
  2051. "204": "Igrave;",
  2052. "205": "Iacute;",
  2053. "206": "Icirc;",
  2054. "207": "Iuml;",
  2055. "208": "ETH;",
  2056. "209": "Ntilde;",
  2057. "210": "Ograve;",
  2058. "211": "Oacute;",
  2059. "212": "Ocirc;",
  2060. "213": "Otilde;",
  2061. "214": "Ouml;",
  2062. "215": "times;",
  2063. "216": "Oslash;",
  2064. "217": "Ugrave;",
  2065. "218": "Uacute;",
  2066. "219": "Ucirc;",
  2067. "220": "Uuml;",
  2068. "221": "Yacute;",
  2069. "222": "THORN;",
  2070. "223": "szlig;",
  2071. "224": "agrave;",
  2072. "225": "aacute;",
  2073. "226": "acirc;",
  2074. "227": "atilde;",
  2075. "228": "auml;",
  2076. "229": "aring;",
  2077. "230": "aelig;",
  2078. "231": "ccedil;",
  2079. "232": "egrave;",
  2080. "233": "eacute;",
  2081. "234": "ecirc;",
  2082. "235": "euml;",
  2083. "236": "igrave;",
  2084. "237": "iacute;",
  2085. "238": "icirc;",
  2086. "239": "iuml;",
  2087. "240": "eth;",
  2088. "241": "ntilde;",
  2089. "242": "ograve;",
  2090. "243": "oacute;",
  2091. "244": "ocirc;",
  2092. "245": "otilde;",
  2093. "246": "ouml;",
  2094. "247": "divide;",
  2095. "248": "oslash;",
  2096. "249": "ugrave;",
  2097. "250": "uacute;",
  2098. "251": "ucirc;",
  2099. "252": "uuml;",
  2100. "253": "yacute;",
  2101. "254": "thorn;",
  2102. "255": "yuml;",
  2103. "256": "Amacr;",
  2104. "257": "amacr;",
  2105. "258": "Abreve;",
  2106. "259": "abreve;",
  2107. "260": "Aogon;",
  2108. "261": "aogon;",
  2109. "262": "Cacute;",
  2110. "263": "cacute;",
  2111. "264": "Ccirc;",
  2112. "265": "ccirc;",
  2113. "266": "Cdot;",
  2114. "267": "cdot;",
  2115. "268": "Ccaron;",
  2116. "269": "ccaron;",
  2117. "270": "Dcaron;",
  2118. "271": "dcaron;",
  2119. "272": "Dstrok;",
  2120. "273": "dstrok;",
  2121. "274": "Emacr;",
  2122. "275": "emacr;",
  2123. "278": "Edot;",
  2124. "279": "edot;",
  2125. "280": "Eogon;",
  2126. "281": "eogon;",
  2127. "282": "Ecaron;",
  2128. "283": "ecaron;",
  2129. "284": "Gcirc;",
  2130. "285": "gcirc;",
  2131. "286": "Gbreve;",
  2132. "287": "gbreve;",
  2133. "288": "Gdot;",
  2134. "289": "gdot;",
  2135. "290": "Gcedil;",
  2136. "292": "Hcirc;",
  2137. "293": "hcirc;",
  2138. "294": "Hstrok;",
  2139. "295": "hstrok;",
  2140. "296": "Itilde;",
  2141. "297": "itilde;",
  2142. "298": "Imacr;",
  2143. "299": "imacr;",
  2144. "302": "Iogon;",
  2145. "303": "iogon;",
  2146. "304": "Idot;",
  2147. "305": "inodot;",
  2148. "306": "IJlig;",
  2149. "307": "ijlig;",
  2150. "308": "Jcirc;",
  2151. "309": "jcirc;",
  2152. "310": "Kcedil;",
  2153. "311": "kcedil;",
  2154. "312": "kgreen;",
  2155. "313": "Lacute;",
  2156. "314": "lacute;",
  2157. "315": "Lcedil;",
  2158. "316": "lcedil;",
  2159. "317": "Lcaron;",
  2160. "318": "lcaron;",
  2161. "319": "Lmidot;",
  2162. "320": "lmidot;",
  2163. "321": "Lstrok;",
  2164. "322": "lstrok;",
  2165. "323": "Nacute;",
  2166. "324": "nacute;",
  2167. "325": "Ncedil;",
  2168. "326": "ncedil;",
  2169. "327": "Ncaron;",
  2170. "328": "ncaron;",
  2171. "329": "napos;",
  2172. "330": "ENG;",
  2173. "331": "eng;",
  2174. "332": "Omacr;",
  2175. "333": "omacr;",
  2176. "336": "Odblac;",
  2177. "337": "odblac;",
  2178. "338": "OElig;",
  2179. "339": "oelig;",
  2180. "340": "Racute;",
  2181. "341": "racute;",
  2182. "342": "Rcedil;",
  2183. "343": "rcedil;",
  2184. "344": "Rcaron;",
  2185. "345": "rcaron;",
  2186. "346": "Sacute;",
  2187. "347": "sacute;",
  2188. "348": "Scirc;",
  2189. "349": "scirc;",
  2190. "350": "Scedil;",
  2191. "351": "scedil;",
  2192. "352": "Scaron;",
  2193. "353": "scaron;",
  2194. "354": "Tcedil;",
  2195. "355": "tcedil;",
  2196. "356": "Tcaron;",
  2197. "357": "tcaron;",
  2198. "358": "Tstrok;",
  2199. "359": "tstrok;",
  2200. "360": "Utilde;",
  2201. "361": "utilde;",
  2202. "362": "Umacr;",
  2203. "363": "umacr;",
  2204. "364": "Ubreve;",
  2205. "365": "ubreve;",
  2206. "366": "Uring;",
  2207. "367": "uring;",
  2208. "368": "Udblac;",
  2209. "369": "udblac;",
  2210. "370": "Uogon;",
  2211. "371": "uogon;",
  2212. "372": "Wcirc;",
  2213. "373": "wcirc;",
  2214. "374": "Ycirc;",
  2215. "375": "ycirc;",
  2216. "376": "Yuml;",
  2217. "377": "Zacute;",
  2218. "378": "zacute;",
  2219. "379": "Zdot;",
  2220. "380": "zdot;",
  2221. "381": "Zcaron;",
  2222. "382": "zcaron;",
  2223. "402": "fnof;",
  2224. "437": "imped;",
  2225. "501": "gacute;",
  2226. "567": "jmath;",
  2227. "710": "circ;",
  2228. "711": "Hacek;",
  2229. "728": "breve;",
  2230. "729": "dot;",
  2231. "730": "ring;",
  2232. "731": "ogon;",
  2233. "732": "tilde;",
  2234. "733": "DiacriticalDoubleAcute;",
  2235. "785": "DownBreve;",
  2236. "913": "Alpha;",
  2237. "914": "Beta;",
  2238. "915": "Gamma;",
  2239. "916": "Delta;",
  2240. "917": "Epsilon;",
  2241. "918": "Zeta;",
  2242. "919": "Eta;",
  2243. "920": "Theta;",
  2244. "921": "Iota;",
  2245. "922": "Kappa;",
  2246. "923": "Lambda;",
  2247. "924": "Mu;",
  2248. "925": "Nu;",
  2249. "926": "Xi;",
  2250. "927": "Omicron;",
  2251. "928": "Pi;",
  2252. "929": "Rho;",
  2253. "931": "Sigma;",
  2254. "932": "Tau;",
  2255. "933": "Upsilon;",
  2256. "934": "Phi;",
  2257. "935": "Chi;",
  2258. "936": "Psi;",
  2259. "937": "Omega;",
  2260. "945": "alpha;",
  2261. "946": "beta;",
  2262. "947": "gamma;",
  2263. "948": "delta;",
  2264. "949": "epsilon;",
  2265. "950": "zeta;",
  2266. "951": "eta;",
  2267. "952": "theta;",
  2268. "953": "iota;",
  2269. "954": "kappa;",
  2270. "955": "lambda;",
  2271. "956": "mu;",
  2272. "957": "nu;",
  2273. "958": "xi;",
  2274. "959": "omicron;",
  2275. "960": "pi;",
  2276. "961": "rho;",
  2277. "962": "varsigma;",
  2278. "963": "sigma;",
  2279. "964": "tau;",
  2280. "965": "upsilon;",
  2281. "966": "phi;",
  2282. "967": "chi;",
  2283. "968": "psi;",
  2284. "969": "omega;",
  2285. "977": "vartheta;",
  2286. "978": "upsih;",
  2287. "981": "varphi;",
  2288. "982": "varpi;",
  2289. "988": "Gammad;",
  2290. "989": "gammad;",
  2291. "1008": "varkappa;",
  2292. "1009": "varrho;",
  2293. "1013": "varepsilon;",
  2294. "1014": "bepsi;",
  2295. "1025": "IOcy;",
  2296. "1026": "DJcy;",
  2297. "1027": "GJcy;",
  2298. "1028": "Jukcy;",
  2299. "1029": "DScy;",
  2300. "1030": "Iukcy;",
  2301. "1031": "YIcy;",
  2302. "1032": "Jsercy;",
  2303. "1033": "LJcy;",
  2304. "1034": "NJcy;",
  2305. "1035": "TSHcy;",
  2306. "1036": "KJcy;",
  2307. "1038": "Ubrcy;",
  2308. "1039": "DZcy;",
  2309. "1040": "Acy;",
  2310. "1041": "Bcy;",
  2311. "1042": "Vcy;",
  2312. "1043": "Gcy;",
  2313. "1044": "Dcy;",
  2314. "1045": "IEcy;",
  2315. "1046": "ZHcy;",
  2316. "1047": "Zcy;",
  2317. "1048": "Icy;",
  2318. "1049": "Jcy;",
  2319. "1050": "Kcy;",
  2320. "1051": "Lcy;",
  2321. "1052": "Mcy;",
  2322. "1053": "Ncy;",
  2323. "1054": "Ocy;",
  2324. "1055": "Pcy;",
  2325. "1056": "Rcy;",
  2326. "1057": "Scy;",
  2327. "1058": "Tcy;",
  2328. "1059": "Ucy;",
  2329. "1060": "Fcy;",
  2330. "1061": "KHcy;",
  2331. "1062": "TScy;",
  2332. "1063": "CHcy;",
  2333. "1064": "SHcy;",
  2334. "1065": "SHCHcy;",
  2335. "1066": "HARDcy;",
  2336. "1067": "Ycy;",
  2337. "1068": "SOFTcy;",
  2338. "1069": "Ecy;",
  2339. "1070": "YUcy;",
  2340. "1071": "YAcy;",
  2341. "1072": "acy;",
  2342. "1073": "bcy;",
  2343. "1074": "vcy;",
  2344. "1075": "gcy;",
  2345. "1076": "dcy;",
  2346. "1077": "iecy;",
  2347. "1078": "zhcy;",
  2348. "1079": "zcy;",
  2349. "1080": "icy;",
  2350. "1081": "jcy;",
  2351. "1082": "kcy;",
  2352. "1083": "lcy;",
  2353. "1084": "mcy;",
  2354. "1085": "ncy;",
  2355. "1086": "ocy;",
  2356. "1087": "pcy;",
  2357. "1088": "rcy;",
  2358. "1089": "scy;",
  2359. "1090": "tcy;",
  2360. "1091": "ucy;",
  2361. "1092": "fcy;",
  2362. "1093": "khcy;",
  2363. "1094": "tscy;",
  2364. "1095": "chcy;",
  2365. "1096": "shcy;",
  2366. "1097": "shchcy;",
  2367. "1098": "hardcy;",
  2368. "1099": "ycy;",
  2369. "1100": "softcy;",
  2370. "1101": "ecy;",
  2371. "1102": "yucy;",
  2372. "1103": "yacy;",
  2373. "1105": "iocy;",
  2374. "1106": "djcy;",
  2375. "1107": "gjcy;",
  2376. "1108": "jukcy;",
  2377. "1109": "dscy;",
  2378. "1110": "iukcy;",
  2379. "1111": "yicy;",
  2380. "1112": "jsercy;",
  2381. "1113": "ljcy;",
  2382. "1114": "njcy;",
  2383. "1115": "tshcy;",
  2384. "1116": "kjcy;",
  2385. "1118": "ubrcy;",
  2386. "1119": "dzcy;",
  2387. "8194": "ensp;",
  2388. "8195": "emsp;",
  2389. "8196": "emsp13;",
  2390. "8197": "emsp14;",
  2391. "8199": "numsp;",
  2392. "8200": "puncsp;",
  2393. "8201": "ThinSpace;",
  2394. "8202": "VeryThinSpace;",
  2395. "8203": "ZeroWidthSpace;",
  2396. "8204": "zwnj;",
  2397. "8205": "zwj;",
  2398. "8206": "lrm;",
  2399. "8207": "rlm;",
  2400. "8208": "hyphen;",
  2401. "8211": "ndash;",
  2402. "8212": "mdash;",
  2403. "8213": "horbar;",
  2404. "8214": "Vert;",
  2405. "8216": "OpenCurlyQuote;",
  2406. "8217": "rsquor;",
  2407. "8218": "sbquo;",
  2408. "8220": "OpenCurlyDoubleQuote;",
  2409. "8221": "rdquor;",
  2410. "8222": "ldquor;",
  2411. "8224": "dagger;",
  2412. "8225": "ddagger;",
  2413. "8226": "bullet;",
  2414. "8229": "nldr;",
  2415. "8230": "mldr;",
  2416. "8240": "permil;",
  2417. "8241": "pertenk;",
  2418. "8242": "prime;",
  2419. "8243": "Prime;",
  2420. "8244": "tprime;",
  2421. "8245": "bprime;",
  2422. "8249": "lsaquo;",
  2423. "8250": "rsaquo;",
  2424. "8254": "OverBar;",
  2425. "8257": "caret;",
  2426. "8259": "hybull;",
  2427. "8260": "frasl;",
  2428. "8271": "bsemi;",
  2429. "8279": "qprime;",
  2430. "8287": "MediumSpace;",
  2431. "8288": "NoBreak;",
  2432. "8289": "ApplyFunction;",
  2433. "8290": "it;",
  2434. "8291": "InvisibleComma;",
  2435. "8364": "euro;",
  2436. "8411": "TripleDot;",
  2437. "8412": "DotDot;",
  2438. "8450": "Copf;",
  2439. "8453": "incare;",
  2440. "8458": "gscr;",
  2441. "8459": "Hscr;",
  2442. "8460": "Poincareplane;",
  2443. "8461": "quaternions;",
  2444. "8462": "planckh;",
  2445. "8463": "plankv;",
  2446. "8464": "Iscr;",
  2447. "8465": "imagpart;",
  2448. "8466": "Lscr;",
  2449. "8467": "ell;",
  2450. "8469": "Nopf;",
  2451. "8470": "numero;",
  2452. "8471": "copysr;",
  2453. "8472": "wp;",
  2454. "8473": "primes;",
  2455. "8474": "rationals;",
  2456. "8475": "Rscr;",
  2457. "8476": "Rfr;",
  2458. "8477": "Ropf;",
  2459. "8478": "rx;",
  2460. "8482": "trade;",
  2461. "8484": "Zopf;",
  2462. "8487": "mho;",
  2463. "8488": "Zfr;",
  2464. "8489": "iiota;",
  2465. "8492": "Bscr;",
  2466. "8493": "Cfr;",
  2467. "8495": "escr;",
  2468. "8496": "expectation;",
  2469. "8497": "Fscr;",
  2470. "8499": "phmmat;",
  2471. "8500": "oscr;",
  2472. "8501": "aleph;",
  2473. "8502": "beth;",
  2474. "8503": "gimel;",
  2475. "8504": "daleth;",
  2476. "8517": "DD;",
  2477. "8518": "DifferentialD;",
  2478. "8519": "exponentiale;",
  2479. "8520": "ImaginaryI;",
  2480. "8531": "frac13;",
  2481. "8532": "frac23;",
  2482. "8533": "frac15;",
  2483. "8534": "frac25;",
  2484. "8535": "frac35;",
  2485. "8536": "frac45;",
  2486. "8537": "frac16;",
  2487. "8538": "frac56;",
  2488. "8539": "frac18;",
  2489. "8540": "frac38;",
  2490. "8541": "frac58;",
  2491. "8542": "frac78;",
  2492. "8592": "slarr;",
  2493. "8593": "uparrow;",
  2494. "8594": "srarr;",
  2495. "8595": "ShortDownArrow;",
  2496. "8596": "leftrightarrow;",
  2497. "8597": "varr;",
  2498. "8598": "UpperLeftArrow;",
  2499. "8599": "UpperRightArrow;",
  2500. "8600": "searrow;",
  2501. "8601": "swarrow;",
  2502. "8602": "nleftarrow;",
  2503. "8603": "nrightarrow;",
  2504. "8605": "rightsquigarrow;",
  2505. "8606": "twoheadleftarrow;",
  2506. "8607": "Uarr;",
  2507. "8608": "twoheadrightarrow;",
  2508. "8609": "Darr;",
  2509. "8610": "leftarrowtail;",
  2510. "8611": "rightarrowtail;",
  2511. "8612": "mapstoleft;",
  2512. "8613": "UpTeeArrow;",
  2513. "8614": "RightTeeArrow;",
  2514. "8615": "mapstodown;",
  2515. "8617": "larrhk;",
  2516. "8618": "rarrhk;",
  2517. "8619": "looparrowleft;",
  2518. "8620": "rarrlp;",
  2519. "8621": "leftrightsquigarrow;",
  2520. "8622": "nleftrightarrow;",
  2521. "8624": "lsh;",
  2522. "8625": "rsh;",
  2523. "8626": "ldsh;",
  2524. "8627": "rdsh;",
  2525. "8629": "crarr;",
  2526. "8630": "curvearrowleft;",
  2527. "8631": "curvearrowright;",
  2528. "8634": "olarr;",
  2529. "8635": "orarr;",
  2530. "8636": "lharu;",
  2531. "8637": "lhard;",
  2532. "8638": "upharpoonright;",
  2533. "8639": "upharpoonleft;",
  2534. "8640": "RightVector;",
  2535. "8641": "rightharpoondown;",
  2536. "8642": "RightDownVector;",
  2537. "8643": "LeftDownVector;",
  2538. "8644": "rlarr;",
  2539. "8645": "UpArrowDownArrow;",
  2540. "8646": "lrarr;",
  2541. "8647": "llarr;",
  2542. "8648": "uuarr;",
  2543. "8649": "rrarr;",
  2544. "8650": "downdownarrows;",
  2545. "8651": "ReverseEquilibrium;",
  2546. "8652": "rlhar;",
  2547. "8653": "nLeftarrow;",
  2548. "8654": "nLeftrightarrow;",
  2549. "8655": "nRightarrow;",
  2550. "8656": "Leftarrow;",
  2551. "8657": "Uparrow;",
  2552. "8658": "Rightarrow;",
  2553. "8659": "Downarrow;",
  2554. "8660": "Leftrightarrow;",
  2555. "8661": "vArr;",
  2556. "8662": "nwArr;",
  2557. "8663": "neArr;",
  2558. "8664": "seArr;",
  2559. "8665": "swArr;",
  2560. "8666": "Lleftarrow;",
  2561. "8667": "Rrightarrow;",
  2562. "8669": "zigrarr;",
  2563. "8676": "LeftArrowBar;",
  2564. "8677": "RightArrowBar;",
  2565. "8693": "duarr;",
  2566. "8701": "loarr;",
  2567. "8702": "roarr;",
  2568. "8703": "hoarr;",
  2569. "8704": "forall;",
  2570. "8705": "complement;",
  2571. "8706": "PartialD;",
  2572. "8707": "Exists;",
  2573. "8708": "NotExists;",
  2574. "8709": "varnothing;",
  2575. "8711": "nabla;",
  2576. "8712": "isinv;",
  2577. "8713": "notinva;",
  2578. "8715": "SuchThat;",
  2579. "8716": "NotReverseElement;",
  2580. "8719": "Product;",
  2581. "8720": "Coproduct;",
  2582. "8721": "sum;",
  2583. "8722": "minus;",
  2584. "8723": "mp;",
  2585. "8724": "plusdo;",
  2586. "8726": "ssetmn;",
  2587. "8727": "lowast;",
  2588. "8728": "SmallCircle;",
  2589. "8730": "Sqrt;",
  2590. "8733": "vprop;",
  2591. "8734": "infin;",
  2592. "8735": "angrt;",
  2593. "8736": "angle;",
  2594. "8737": "measuredangle;",
  2595. "8738": "angsph;",
  2596. "8739": "VerticalBar;",
  2597. "8740": "nsmid;",
  2598. "8741": "spar;",
  2599. "8742": "nspar;",
  2600. "8743": "wedge;",
  2601. "8744": "vee;",
  2602. "8745": "cap;",
  2603. "8746": "cup;",
  2604. "8747": "Integral;",
  2605. "8748": "Int;",
  2606. "8749": "tint;",
  2607. "8750": "oint;",
  2608. "8751": "DoubleContourIntegral;",
  2609. "8752": "Cconint;",
  2610. "8753": "cwint;",
  2611. "8754": "cwconint;",
  2612. "8755": "CounterClockwiseContourIntegral;",
  2613. "8756": "therefore;",
  2614. "8757": "because;",
  2615. "8758": "ratio;",
  2616. "8759": "Proportion;",
  2617. "8760": "minusd;",
  2618. "8762": "mDDot;",
  2619. "8763": "homtht;",
  2620. "8764": "Tilde;",
  2621. "8765": "bsim;",
  2622. "8766": "mstpos;",
  2623. "8767": "acd;",
  2624. "8768": "wreath;",
  2625. "8769": "nsim;",
  2626. "8770": "esim;",
  2627. "8771": "TildeEqual;",
  2628. "8772": "nsimeq;",
  2629. "8773": "TildeFullEqual;",
  2630. "8774": "simne;",
  2631. "8775": "NotTildeFullEqual;",
  2632. "8776": "TildeTilde;",
  2633. "8777": "NotTildeTilde;",
  2634. "8778": "approxeq;",
  2635. "8779": "apid;",
  2636. "8780": "bcong;",
  2637. "8781": "CupCap;",
  2638. "8782": "HumpDownHump;",
  2639. "8783": "HumpEqual;",
  2640. "8784": "esdot;",
  2641. "8785": "eDot;",
  2642. "8786": "fallingdotseq;",
  2643. "8787": "risingdotseq;",
  2644. "8788": "coloneq;",
  2645. "8789": "eqcolon;",
  2646. "8790": "eqcirc;",
  2647. "8791": "cire;",
  2648. "8793": "wedgeq;",
  2649. "8794": "veeeq;",
  2650. "8796": "trie;",
  2651. "8799": "questeq;",
  2652. "8800": "NotEqual;",
  2653. "8801": "equiv;",
  2654. "8802": "NotCongruent;",
  2655. "8804": "leq;",
  2656. "8805": "GreaterEqual;",
  2657. "8806": "LessFullEqual;",
  2658. "8807": "GreaterFullEqual;",
  2659. "8808": "lneqq;",
  2660. "8809": "gneqq;",
  2661. "8810": "NestedLessLess;",
  2662. "8811": "NestedGreaterGreater;",
  2663. "8812": "twixt;",
  2664. "8813": "NotCupCap;",
  2665. "8814": "NotLess;",
  2666. "8815": "NotGreater;",
  2667. "8816": "NotLessEqual;",
  2668. "8817": "NotGreaterEqual;",
  2669. "8818": "lsim;",
  2670. "8819": "gtrsim;",
  2671. "8820": "NotLessTilde;",
  2672. "8821": "NotGreaterTilde;",
  2673. "8822": "lg;",
  2674. "8823": "gtrless;",
  2675. "8824": "ntlg;",
  2676. "8825": "ntgl;",
  2677. "8826": "Precedes;",
  2678. "8827": "Succeeds;",
  2679. "8828": "PrecedesSlantEqual;",
  2680. "8829": "SucceedsSlantEqual;",
  2681. "8830": "prsim;",
  2682. "8831": "succsim;",
  2683. "8832": "nprec;",
  2684. "8833": "nsucc;",
  2685. "8834": "subset;",
  2686. "8835": "supset;",
  2687. "8836": "nsub;",
  2688. "8837": "nsup;",
  2689. "8838": "SubsetEqual;",
  2690. "8839": "supseteq;",
  2691. "8840": "nsubseteq;",
  2692. "8841": "nsupseteq;",
  2693. "8842": "subsetneq;",
  2694. "8843": "supsetneq;",
  2695. "8845": "cupdot;",
  2696. "8846": "uplus;",
  2697. "8847": "SquareSubset;",
  2698. "8848": "SquareSuperset;",
  2699. "8849": "SquareSubsetEqual;",
  2700. "8850": "SquareSupersetEqual;",
  2701. "8851": "SquareIntersection;",
  2702. "8852": "SquareUnion;",
  2703. "8853": "oplus;",
  2704. "8854": "ominus;",
  2705. "8855": "otimes;",
  2706. "8856": "osol;",
  2707. "8857": "odot;",
  2708. "8858": "ocir;",
  2709. "8859": "oast;",
  2710. "8861": "odash;",
  2711. "8862": "plusb;",
  2712. "8863": "minusb;",
  2713. "8864": "timesb;",
  2714. "8865": "sdotb;",
  2715. "8866": "vdash;",
  2716. "8867": "LeftTee;",
  2717. "8868": "top;",
  2718. "8869": "UpTee;",
  2719. "8871": "models;",
  2720. "8872": "vDash;",
  2721. "8873": "Vdash;",
  2722. "8874": "Vvdash;",
  2723. "8875": "VDash;",
  2724. "8876": "nvdash;",
  2725. "8877": "nvDash;",
  2726. "8878": "nVdash;",
  2727. "8879": "nVDash;",
  2728. "8880": "prurel;",
  2729. "8882": "vltri;",
  2730. "8883": "vrtri;",
  2731. "8884": "trianglelefteq;",
  2732. "8885": "trianglerighteq;",
  2733. "8886": "origof;",
  2734. "8887": "imof;",
  2735. "8888": "mumap;",
  2736. "8889": "hercon;",
  2737. "8890": "intercal;",
  2738. "8891": "veebar;",
  2739. "8893": "barvee;",
  2740. "8894": "angrtvb;",
  2741. "8895": "lrtri;",
  2742. "8896": "xwedge;",
  2743. "8897": "xvee;",
  2744. "8898": "xcap;",
  2745. "8899": "xcup;",
  2746. "8900": "diamond;",
  2747. "8901": "sdot;",
  2748. "8902": "Star;",
  2749. "8903": "divonx;",
  2750. "8904": "bowtie;",
  2751. "8905": "ltimes;",
  2752. "8906": "rtimes;",
  2753. "8907": "lthree;",
  2754. "8908": "rthree;",
  2755. "8909": "bsime;",
  2756. "8910": "cuvee;",
  2757. "8911": "cuwed;",
  2758. "8912": "Subset;",
  2759. "8913": "Supset;",
  2760. "8914": "Cap;",
  2761. "8915": "Cup;",
  2762. "8916": "pitchfork;",
  2763. "8917": "epar;",
  2764. "8918": "ltdot;",
  2765. "8919": "gtrdot;",
  2766. "8920": "Ll;",
  2767. "8921": "ggg;",
  2768. "8922": "LessEqualGreater;",
  2769. "8923": "gtreqless;",
  2770. "8926": "curlyeqprec;",
  2771. "8927": "curlyeqsucc;",
  2772. "8928": "nprcue;",
  2773. "8929": "nsccue;",
  2774. "8930": "nsqsube;",
  2775. "8931": "nsqsupe;",
  2776. "8934": "lnsim;",
  2777. "8935": "gnsim;",
  2778. "8936": "prnsim;",
  2779. "8937": "succnsim;",
  2780. "8938": "ntriangleleft;",
  2781. "8939": "ntriangleright;",
  2782. "8940": "ntrianglelefteq;",
  2783. "8941": "ntrianglerighteq;",
  2784. "8942": "vellip;",
  2785. "8943": "ctdot;",
  2786. "8944": "utdot;",
  2787. "8945": "dtdot;",
  2788. "8946": "disin;",
  2789. "8947": "isinsv;",
  2790. "8948": "isins;",
  2791. "8949": "isindot;",
  2792. "8950": "notinvc;",
  2793. "8951": "notinvb;",
  2794. "8953": "isinE;",
  2795. "8954": "nisd;",
  2796. "8955": "xnis;",
  2797. "8956": "nis;",
  2798. "8957": "notnivc;",
  2799. "8958": "notnivb;",
  2800. "8965": "barwedge;",
  2801. "8966": "doublebarwedge;",
  2802. "8968": "LeftCeiling;",
  2803. "8969": "RightCeiling;",
  2804. "8970": "lfloor;",
  2805. "8971": "RightFloor;",
  2806. "8972": "drcrop;",
  2807. "8973": "dlcrop;",
  2808. "8974": "urcrop;",
  2809. "8975": "ulcrop;",
  2810. "8976": "bnot;",
  2811. "8978": "profline;",
  2812. "8979": "profsurf;",
  2813. "8981": "telrec;",
  2814. "8982": "target;",
  2815. "8988": "ulcorner;",
  2816. "8989": "urcorner;",
  2817. "8990": "llcorner;",
  2818. "8991": "lrcorner;",
  2819. "8994": "sfrown;",
  2820. "8995": "ssmile;",
  2821. "9005": "cylcty;",
  2822. "9006": "profalar;",
  2823. "9014": "topbot;",
  2824. "9021": "ovbar;",
  2825. "9023": "solbar;",
  2826. "9084": "angzarr;",
  2827. "9136": "lmoustache;",
  2828. "9137": "rmoustache;",
  2829. "9140": "tbrk;",
  2830. "9141": "UnderBracket;",
  2831. "9142": "bbrktbrk;",
  2832. "9180": "OverParenthesis;",
  2833. "9181": "UnderParenthesis;",
  2834. "9182": "OverBrace;",
  2835. "9183": "UnderBrace;",
  2836. "9186": "trpezium;",
  2837. "9191": "elinters;",
  2838. "9251": "blank;",
  2839. "9416": "oS;",
  2840. "9472": "HorizontalLine;",
  2841. "9474": "boxv;",
  2842. "9484": "boxdr;",
  2843. "9488": "boxdl;",
  2844. "9492": "boxur;",
  2845. "9496": "boxul;",
  2846. "9500": "boxvr;",
  2847. "9508": "boxvl;",
  2848. "9516": "boxhd;",
  2849. "9524": "boxhu;",
  2850. "9532": "boxvh;",
  2851. "9552": "boxH;",
  2852. "9553": "boxV;",
  2853. "9554": "boxdR;",
  2854. "9555": "boxDr;",
  2855. "9556": "boxDR;",
  2856. "9557": "boxdL;",
  2857. "9558": "boxDl;",
  2858. "9559": "boxDL;",
  2859. "9560": "boxuR;",
  2860. "9561": "boxUr;",
  2861. "9562": "boxUR;",
  2862. "9563": "boxuL;",
  2863. "9564": "boxUl;",
  2864. "9565": "boxUL;",
  2865. "9566": "boxvR;",
  2866. "9567": "boxVr;",
  2867. "9568": "boxVR;",
  2868. "9569": "boxvL;",
  2869. "9570": "boxVl;",
  2870. "9571": "boxVL;",
  2871. "9572": "boxHd;",
  2872. "9573": "boxhD;",
  2873. "9574": "boxHD;",
  2874. "9575": "boxHu;",
  2875. "9576": "boxhU;",
  2876. "9577": "boxHU;",
  2877. "9578": "boxvH;",
  2878. "9579": "boxVh;",
  2879. "9580": "boxVH;",
  2880. "9600": "uhblk;",
  2881. "9604": "lhblk;",
  2882. "9608": "block;",
  2883. "9617": "blk14;",
  2884. "9618": "blk12;",
  2885. "9619": "blk34;",
  2886. "9633": "square;",
  2887. "9642": "squf;",
  2888. "9643": "EmptyVerySmallSquare;",
  2889. "9645": "rect;",
  2890. "9646": "marker;",
  2891. "9649": "fltns;",
  2892. "9651": "xutri;",
  2893. "9652": "utrif;",
  2894. "9653": "utri;",
  2895. "9656": "rtrif;",
  2896. "9657": "triangleright;",
  2897. "9661": "xdtri;",
  2898. "9662": "dtrif;",
  2899. "9663": "triangledown;",
  2900. "9666": "ltrif;",
  2901. "9667": "triangleleft;",
  2902. "9674": "lozenge;",
  2903. "9675": "cir;",
  2904. "9708": "tridot;",
  2905. "9711": "xcirc;",
  2906. "9720": "ultri;",
  2907. "9721": "urtri;",
  2908. "9722": "lltri;",
  2909. "9723": "EmptySmallSquare;",
  2910. "9724": "FilledSmallSquare;",
  2911. "9733": "starf;",
  2912. "9734": "star;",
  2913. "9742": "phone;",
  2914. "9792": "female;",
  2915. "9794": "male;",
  2916. "9824": "spadesuit;",
  2917. "9827": "clubsuit;",
  2918. "9829": "heartsuit;",
  2919. "9830": "diams;",
  2920. "9834": "sung;",
  2921. "9837": "flat;",
  2922. "9838": "natural;",
  2923. "9839": "sharp;",
  2924. "10003": "checkmark;",
  2925. "10007": "cross;",
  2926. "10016": "maltese;",
  2927. "10038": "sext;",
  2928. "10072": "VerticalSeparator;",
  2929. "10098": "lbbrk;",
  2930. "10099": "rbbrk;",
  2931. "10184": "bsolhsub;",
  2932. "10185": "suphsol;",
  2933. "10214": "lobrk;",
  2934. "10215": "robrk;",
  2935. "10216": "LeftAngleBracket;",
  2936. "10217": "RightAngleBracket;",
  2937. "10218": "Lang;",
  2938. "10219": "Rang;",
  2939. "10220": "loang;",
  2940. "10221": "roang;",
  2941. "10229": "xlarr;",
  2942. "10230": "xrarr;",
  2943. "10231": "xharr;",
  2944. "10232": "xlArr;",
  2945. "10233": "xrArr;",
  2946. "10234": "xhArr;",
  2947. "10236": "xmap;",
  2948. "10239": "dzigrarr;",
  2949. "10498": "nvlArr;",
  2950. "10499": "nvrArr;",
  2951. "10500": "nvHarr;",
  2952. "10501": "Map;",
  2953. "10508": "lbarr;",
  2954. "10509": "rbarr;",
  2955. "10510": "lBarr;",
  2956. "10511": "rBarr;",
  2957. "10512": "RBarr;",
  2958. "10513": "DDotrahd;",
  2959. "10514": "UpArrowBar;",
  2960. "10515": "DownArrowBar;",
  2961. "10518": "Rarrtl;",
  2962. "10521": "latail;",
  2963. "10522": "ratail;",
  2964. "10523": "lAtail;",
  2965. "10524": "rAtail;",
  2966. "10525": "larrfs;",
  2967. "10526": "rarrfs;",
  2968. "10527": "larrbfs;",
  2969. "10528": "rarrbfs;",
  2970. "10531": "nwarhk;",
  2971. "10532": "nearhk;",
  2972. "10533": "searhk;",
  2973. "10534": "swarhk;",
  2974. "10535": "nwnear;",
  2975. "10536": "toea;",
  2976. "10537": "tosa;",
  2977. "10538": "swnwar;",
  2978. "10547": "rarrc;",
  2979. "10549": "cudarrr;",
  2980. "10550": "ldca;",
  2981. "10551": "rdca;",
  2982. "10552": "cudarrl;",
  2983. "10553": "larrpl;",
  2984. "10556": "curarrm;",
  2985. "10557": "cularrp;",
  2986. "10565": "rarrpl;",
  2987. "10568": "harrcir;",
  2988. "10569": "Uarrocir;",
  2989. "10570": "lurdshar;",
  2990. "10571": "ldrushar;",
  2991. "10574": "LeftRightVector;",
  2992. "10575": "RightUpDownVector;",
  2993. "10576": "DownLeftRightVector;",
  2994. "10577": "LeftUpDownVector;",
  2995. "10578": "LeftVectorBar;",
  2996. "10579": "RightVectorBar;",
  2997. "10580": "RightUpVectorBar;",
  2998. "10581": "RightDownVectorBar;",
  2999. "10582": "DownLeftVectorBar;",
  3000. "10583": "DownRightVectorBar;",
  3001. "10584": "LeftUpVectorBar;",
  3002. "10585": "LeftDownVectorBar;",
  3003. "10586": "LeftTeeVector;",
  3004. "10587": "RightTeeVector;",
  3005. "10588": "RightUpTeeVector;",
  3006. "10589": "RightDownTeeVector;",
  3007. "10590": "DownLeftTeeVector;",
  3008. "10591": "DownRightTeeVector;",
  3009. "10592": "LeftUpTeeVector;",
  3010. "10593": "LeftDownTeeVector;",
  3011. "10594": "lHar;",
  3012. "10595": "uHar;",
  3013. "10596": "rHar;",
  3014. "10597": "dHar;",
  3015. "10598": "luruhar;",
  3016. "10599": "ldrdhar;",
  3017. "10600": "ruluhar;",
  3018. "10601": "rdldhar;",
  3019. "10602": "lharul;",
  3020. "10603": "llhard;",
  3021. "10604": "rharul;",
  3022. "10605": "lrhard;",
  3023. "10606": "UpEquilibrium;",
  3024. "10607": "ReverseUpEquilibrium;",
  3025. "10608": "RoundImplies;",
  3026. "10609": "erarr;",
  3027. "10610": "simrarr;",
  3028. "10611": "larrsim;",
  3029. "10612": "rarrsim;",
  3030. "10613": "rarrap;",
  3031. "10614": "ltlarr;",
  3032. "10616": "gtrarr;",
  3033. "10617": "subrarr;",
  3034. "10619": "suplarr;",
  3035. "10620": "lfisht;",
  3036. "10621": "rfisht;",
  3037. "10622": "ufisht;",
  3038. "10623": "dfisht;",
  3039. "10629": "lopar;",
  3040. "10630": "ropar;",
  3041. "10635": "lbrke;",
  3042. "10636": "rbrke;",
  3043. "10637": "lbrkslu;",
  3044. "10638": "rbrksld;",
  3045. "10639": "lbrksld;",
  3046. "10640": "rbrkslu;",
  3047. "10641": "langd;",
  3048. "10642": "rangd;",
  3049. "10643": "lparlt;",
  3050. "10644": "rpargt;",
  3051. "10645": "gtlPar;",
  3052. "10646": "ltrPar;",
  3053. "10650": "vzigzag;",
  3054. "10652": "vangrt;",
  3055. "10653": "angrtvbd;",
  3056. "10660": "ange;",
  3057. "10661": "range;",
  3058. "10662": "dwangle;",
  3059. "10663": "uwangle;",
  3060. "10664": "angmsdaa;",
  3061. "10665": "angmsdab;",
  3062. "10666": "angmsdac;",
  3063. "10667": "angmsdad;",
  3064. "10668": "angmsdae;",
  3065. "10669": "angmsdaf;",
  3066. "10670": "angmsdag;",
  3067. "10671": "angmsdah;",
  3068. "10672": "bemptyv;",
  3069. "10673": "demptyv;",
  3070. "10674": "cemptyv;",
  3071. "10675": "raemptyv;",
  3072. "10676": "laemptyv;",
  3073. "10677": "ohbar;",
  3074. "10678": "omid;",
  3075. "10679": "opar;",
  3076. "10681": "operp;",
  3077. "10683": "olcross;",
  3078. "10684": "odsold;",
  3079. "10686": "olcir;",
  3080. "10687": "ofcir;",
  3081. "10688": "olt;",
  3082. "10689": "ogt;",
  3083. "10690": "cirscir;",
  3084. "10691": "cirE;",
  3085. "10692": "solb;",
  3086. "10693": "bsolb;",
  3087. "10697": "boxbox;",
  3088. "10701": "trisb;",
  3089. "10702": "rtriltri;",
  3090. "10703": "LeftTriangleBar;",
  3091. "10704": "RightTriangleBar;",
  3092. "10716": "iinfin;",
  3093. "10717": "infintie;",
  3094. "10718": "nvinfin;",
  3095. "10723": "eparsl;",
  3096. "10724": "smeparsl;",
  3097. "10725": "eqvparsl;",
  3098. "10731": "lozf;",
  3099. "10740": "RuleDelayed;",
  3100. "10742": "dsol;",
  3101. "10752": "xodot;",
  3102. "10753": "xoplus;",
  3103. "10754": "xotime;",
  3104. "10756": "xuplus;",
  3105. "10758": "xsqcup;",
  3106. "10764": "qint;",
  3107. "10765": "fpartint;",
  3108. "10768": "cirfnint;",
  3109. "10769": "awint;",
  3110. "10770": "rppolint;",
  3111. "10771": "scpolint;",
  3112. "10772": "npolint;",
  3113. "10773": "pointint;",
  3114. "10774": "quatint;",
  3115. "10775": "intlarhk;",
  3116. "10786": "pluscir;",
  3117. "10787": "plusacir;",
  3118. "10788": "simplus;",
  3119. "10789": "plusdu;",
  3120. "10790": "plussim;",
  3121. "10791": "plustwo;",
  3122. "10793": "mcomma;",
  3123. "10794": "minusdu;",
  3124. "10797": "loplus;",
  3125. "10798": "roplus;",
  3126. "10799": "Cross;",
  3127. "10800": "timesd;",
  3128. "10801": "timesbar;",
  3129. "10803": "smashp;",
  3130. "10804": "lotimes;",
  3131. "10805": "rotimes;",
  3132. "10806": "otimesas;",
  3133. "10807": "Otimes;",
  3134. "10808": "odiv;",
  3135. "10809": "triplus;",
  3136. "10810": "triminus;",
  3137. "10811": "tritime;",
  3138. "10812": "iprod;",
  3139. "10815": "amalg;",
  3140. "10816": "capdot;",
  3141. "10818": "ncup;",
  3142. "10819": "ncap;",
  3143. "10820": "capand;",
  3144. "10821": "cupor;",
  3145. "10822": "cupcap;",
  3146. "10823": "capcup;",
  3147. "10824": "cupbrcap;",
  3148. "10825": "capbrcup;",
  3149. "10826": "cupcup;",
  3150. "10827": "capcap;",
  3151. "10828": "ccups;",
  3152. "10829": "ccaps;",
  3153. "10832": "ccupssm;",
  3154. "10835": "And;",
  3155. "10836": "Or;",
  3156. "10837": "andand;",
  3157. "10838": "oror;",
  3158. "10839": "orslope;",
  3159. "10840": "andslope;",
  3160. "10842": "andv;",
  3161. "10843": "orv;",
  3162. "10844": "andd;",
  3163. "10845": "ord;",
  3164. "10847": "wedbar;",
  3165. "10854": "sdote;",
  3166. "10858": "simdot;",
  3167. "10861": "congdot;",
  3168. "10862": "easter;",
  3169. "10863": "apacir;",
  3170. "10864": "apE;",
  3171. "10865": "eplus;",
  3172. "10866": "pluse;",
  3173. "10867": "Esim;",
  3174. "10868": "Colone;",
  3175. "10869": "Equal;",
  3176. "10871": "eDDot;",
  3177. "10872": "equivDD;",
  3178. "10873": "ltcir;",
  3179. "10874": "gtcir;",
  3180. "10875": "ltquest;",
  3181. "10876": "gtquest;",
  3182. "10877": "LessSlantEqual;",
  3183. "10878": "GreaterSlantEqual;",
  3184. "10879": "lesdot;",
  3185. "10880": "gesdot;",
  3186. "10881": "lesdoto;",
  3187. "10882": "gesdoto;",
  3188. "10883": "lesdotor;",
  3189. "10884": "gesdotol;",
  3190. "10885": "lessapprox;",
  3191. "10886": "gtrapprox;",
  3192. "10887": "lneq;",
  3193. "10888": "gneq;",
  3194. "10889": "lnapprox;",
  3195. "10890": "gnapprox;",
  3196. "10891": "lesseqqgtr;",
  3197. "10892": "gtreqqless;",
  3198. "10893": "lsime;",
  3199. "10894": "gsime;",
  3200. "10895": "lsimg;",
  3201. "10896": "gsiml;",
  3202. "10897": "lgE;",
  3203. "10898": "glE;",
  3204. "10899": "lesges;",
  3205. "10900": "gesles;",
  3206. "10901": "eqslantless;",
  3207. "10902": "eqslantgtr;",
  3208. "10903": "elsdot;",
  3209. "10904": "egsdot;",
  3210. "10905": "el;",
  3211. "10906": "eg;",
  3212. "10909": "siml;",
  3213. "10910": "simg;",
  3214. "10911": "simlE;",
  3215. "10912": "simgE;",
  3216. "10913": "LessLess;",
  3217. "10914": "GreaterGreater;",
  3218. "10916": "glj;",
  3219. "10917": "gla;",
  3220. "10918": "ltcc;",
  3221. "10919": "gtcc;",
  3222. "10920": "lescc;",
  3223. "10921": "gescc;",
  3224. "10922": "smt;",
  3225. "10923": "lat;",
  3226. "10924": "smte;",
  3227. "10925": "late;",
  3228. "10926": "bumpE;",
  3229. "10927": "preceq;",
  3230. "10928": "succeq;",
  3231. "10931": "prE;",
  3232. "10932": "scE;",
  3233. "10933": "prnE;",
  3234. "10934": "succneqq;",
  3235. "10935": "precapprox;",
  3236. "10936": "succapprox;",
  3237. "10937": "prnap;",
  3238. "10938": "succnapprox;",
  3239. "10939": "Pr;",
  3240. "10940": "Sc;",
  3241. "10941": "subdot;",
  3242. "10942": "supdot;",
  3243. "10943": "subplus;",
  3244. "10944": "supplus;",
  3245. "10945": "submult;",
  3246. "10946": "supmult;",
  3247. "10947": "subedot;",
  3248. "10948": "supedot;",
  3249. "10949": "subseteqq;",
  3250. "10950": "supseteqq;",
  3251. "10951": "subsim;",
  3252. "10952": "supsim;",
  3253. "10955": "subsetneqq;",
  3254. "10956": "supsetneqq;",
  3255. "10959": "csub;",
  3256. "10960": "csup;",
  3257. "10961": "csube;",
  3258. "10962": "csupe;",
  3259. "10963": "subsup;",
  3260. "10964": "supsub;",
  3261. "10965": "subsub;",
  3262. "10966": "supsup;",
  3263. "10967": "suphsub;",
  3264. "10968": "supdsub;",
  3265. "10969": "forkv;",
  3266. "10970": "topfork;",
  3267. "10971": "mlcp;",
  3268. "10980": "DoubleLeftTee;",
  3269. "10982": "Vdashl;",
  3270. "10983": "Barv;",
  3271. "10984": "vBar;",
  3272. "10985": "vBarv;",
  3273. "10987": "Vbar;",
  3274. "10988": "Not;",
  3275. "10989": "bNot;",
  3276. "10990": "rnmid;",
  3277. "10991": "cirmid;",
  3278. "10992": "midcir;",
  3279. "10993": "topcir;",
  3280. "10994": "nhpar;",
  3281. "10995": "parsim;",
  3282. "11005": "parsl;",
  3283. "64256": "fflig;",
  3284. "64257": "filig;",
  3285. "64258": "fllig;",
  3286. "64259": "ffilig;",
  3287. "64260": "ffllig;"
  3288. }
  3289. },{}],109:[function(require,module,exports){
  3290. 'use strict';
  3291. var hasOwn = Object.prototype.hasOwnProperty;
  3292. var toStr = Object.prototype.toString;
  3293. var defineProperty = Object.defineProperty;
  3294. var gOPD = Object.getOwnPropertyDescriptor;
  3295. var isArray = function isArray(arr) {
  3296. if (typeof Array.isArray === 'function') {
  3297. return Array.isArray(arr);
  3298. }
  3299. return toStr.call(arr) === '[object Array]';
  3300. };
  3301. var isPlainObject = function isPlainObject(obj) {
  3302. if (!obj || toStr.call(obj) !== '[object Object]') {
  3303. return false;
  3304. }
  3305. var hasOwnConstructor = hasOwn.call(obj, 'constructor');
  3306. var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
  3307. // Not own constructor property must be Object
  3308. if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
  3309. return false;
  3310. }
  3311. // Own properties are enumerated firstly, so to speed up,
  3312. // if last one is own, then all properties are own.
  3313. var key;
  3314. for (key in obj) { /**/ }
  3315. return typeof key === 'undefined' || hasOwn.call(obj, key);
  3316. };
  3317. // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
  3318. var setProperty = function setProperty(target, options) {
  3319. if (defineProperty && options.name === '__proto__') {
  3320. defineProperty(target, options.name, {
  3321. enumerable: true,
  3322. configurable: true,
  3323. value: options.newValue,
  3324. writable: true
  3325. });
  3326. } else {
  3327. target[options.name] = options.newValue;
  3328. }
  3329. };
  3330. // Return undefined instead of __proto__ if '__proto__' is not an own property
  3331. var getProperty = function getProperty(obj, name) {
  3332. if (name === '__proto__') {
  3333. if (!hasOwn.call(obj, name)) {
  3334. return void 0;
  3335. } else if (gOPD) {
  3336. // In early versions of node, obj['__proto__'] is buggy when obj has
  3337. // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
  3338. return gOPD(obj, name).value;
  3339. }
  3340. }
  3341. return obj[name];
  3342. };
  3343. module.exports = function extend() {
  3344. var options, name, src, copy, copyIsArray, clone;
  3345. var target = arguments[0];
  3346. var i = 1;
  3347. var length = arguments.length;
  3348. var deep = false;
  3349. // Handle a deep copy situation
  3350. if (typeof target === 'boolean') {
  3351. deep = target;
  3352. target = arguments[1] || {};
  3353. // skip the boolean and the target
  3354. i = 2;
  3355. }
  3356. if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
  3357. target = {};
  3358. }
  3359. for (; i < length; ++i) {
  3360. options = arguments[i];
  3361. // Only deal with non-null/undefined values
  3362. if (options != null) {
  3363. // Extend the base object
  3364. for (name in options) {
  3365. src = getProperty(target, name);
  3366. copy = getProperty(options, name);
  3367. // Prevent never-ending loop
  3368. if (target !== copy) {
  3369. // Recurse if we're merging plain objects or arrays
  3370. if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
  3371. if (copyIsArray) {
  3372. copyIsArray = false;
  3373. clone = src && isArray(src) ? src : [];
  3374. } else {
  3375. clone = src && isPlainObject(src) ? src : {};
  3376. }
  3377. // Never move original objects, clone them
  3378. setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
  3379. // Don't bring in undefined values
  3380. } else if (typeof copy !== 'undefined') {
  3381. setProperty(target, { name: name, newValue: copy });
  3382. }
  3383. }
  3384. }
  3385. }
  3386. }
  3387. // Return the modified object
  3388. return target;
  3389. };
  3390. },{}],110:[function(require,module,exports){
  3391. /**
  3392. * This file automatically generated from `pre-publish.js`.
  3393. * Do not manually edit.
  3394. */
  3395. module.exports = {
  3396. "area": true,
  3397. "base": true,
  3398. "br": true,
  3399. "col": true,
  3400. "embed": true,
  3401. "hr": true,
  3402. "img": true,
  3403. "input": true,
  3404. "keygen": true,
  3405. "link": true,
  3406. "menuitem": true,
  3407. "meta": true,
  3408. "param": true,
  3409. "source": true,
  3410. "track": true,
  3411. "wbr": true
  3412. };
  3413. },{}],111:[function(require,module,exports){
  3414. (function (global){
  3415. /*! https://mths.be/punycode v1.4.1 by @mathias */
  3416. ;(function(root) {
  3417. /** Detect free variables */
  3418. var freeExports = typeof exports == 'object' && exports &&
  3419. !exports.nodeType && exports;
  3420. var freeModule = typeof module == 'object' && module &&
  3421. !module.nodeType && module;
  3422. var freeGlobal = typeof global == 'object' && global;
  3423. if (
  3424. freeGlobal.global === freeGlobal ||
  3425. freeGlobal.window === freeGlobal ||
  3426. freeGlobal.self === freeGlobal
  3427. ) {
  3428. root = freeGlobal;
  3429. }
  3430. /**
  3431. * The `punycode` object.
  3432. * @name punycode
  3433. * @type Object
  3434. */
  3435. var punycode,
  3436. /** Highest positive signed 32-bit float value */
  3437. maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
  3438. /** Bootstring parameters */
  3439. base = 36,
  3440. tMin = 1,
  3441. tMax = 26,
  3442. skew = 38,
  3443. damp = 700,
  3444. initialBias = 72,
  3445. initialN = 128, // 0x80
  3446. delimiter = '-', // '\x2D'
  3447. /** Regular expressions */
  3448. regexPunycode = /^xn--/,
  3449. regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
  3450. regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
  3451. /** Error messages */
  3452. errors = {
  3453. 'overflow': 'Overflow: input needs wider integers to process',
  3454. 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
  3455. 'invalid-input': 'Invalid input'
  3456. },
  3457. /** Convenience shortcuts */
  3458. baseMinusTMin = base - tMin,
  3459. floor = Math.floor,
  3460. stringFromCharCode = String.fromCharCode,
  3461. /** Temporary variable */
  3462. key;
  3463. /*--------------------------------------------------------------------------*/
  3464. /**
  3465. * A generic error utility function.
  3466. * @private
  3467. * @param {String} type The error type.
  3468. * @returns {Error} Throws a `RangeError` with the applicable error message.
  3469. */
  3470. function error(type) {
  3471. throw new RangeError(errors[type]);
  3472. }
  3473. /**
  3474. * A generic `Array#map` utility function.
  3475. * @private
  3476. * @param {Array} array The array to iterate over.
  3477. * @param {Function} callback The function that gets called for every array
  3478. * item.
  3479. * @returns {Array} A new array of values returned by the callback function.
  3480. */
  3481. function map(array, fn) {
  3482. var length = array.length;
  3483. var result = [];
  3484. while (length--) {
  3485. result[length] = fn(array[length]);
  3486. }
  3487. return result;
  3488. }
  3489. /**
  3490. * A simple `Array#map`-like wrapper to work with domain name strings or email
  3491. * addresses.
  3492. * @private
  3493. * @param {String} domain The domain name or email address.
  3494. * @param {Function} callback The function that gets called for every
  3495. * character.
  3496. * @returns {Array} A new string of characters returned by the callback
  3497. * function.
  3498. */
  3499. function mapDomain(string, fn) {
  3500. var parts = string.split('@');
  3501. var result = '';
  3502. if (parts.length > 1) {
  3503. // In email addresses, only the domain name should be punycoded. Leave
  3504. // the local part (i.e. everything up to `@`) intact.
  3505. result = parts[0] + '@';
  3506. string = parts[1];
  3507. }
  3508. // Avoid `split(regex)` for IE8 compatibility. See #17.
  3509. string = string.replace(regexSeparators, '\x2E');
  3510. var labels = string.split('.');
  3511. var encoded = map(labels, fn).join('.');
  3512. return result + encoded;
  3513. }
  3514. /**
  3515. * Creates an array containing the numeric code points of each Unicode
  3516. * character in the string. While JavaScript uses UCS-2 internally,
  3517. * this function will convert a pair of surrogate halves (each of which
  3518. * UCS-2 exposes as separate characters) into a single code point,
  3519. * matching UTF-16.
  3520. * @see `punycode.ucs2.encode`
  3521. * @see <https://mathiasbynens.be/notes/javascript-encoding>
  3522. * @memberOf punycode.ucs2
  3523. * @name decode
  3524. * @param {String} string The Unicode input string (UCS-2).
  3525. * @returns {Array} The new array of code points.
  3526. */
  3527. function ucs2decode(string) {
  3528. var output = [],
  3529. counter = 0,
  3530. length = string.length,
  3531. value,
  3532. extra;
  3533. while (counter < length) {
  3534. value = string.charCodeAt(counter++);
  3535. if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
  3536. // high surrogate, and there is a next character
  3537. extra = string.charCodeAt(counter++);
  3538. if ((extra & 0xFC00) == 0xDC00) { // low surrogate
  3539. output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
  3540. } else {
  3541. // unmatched surrogate; only append this code unit, in case the next
  3542. // code unit is the high surrogate of a surrogate pair
  3543. output.push(value);
  3544. counter--;
  3545. }
  3546. } else {
  3547. output.push(value);
  3548. }
  3549. }
  3550. return output;
  3551. }
  3552. /**
  3553. * Creates a string based on an array of numeric code points.
  3554. * @see `punycode.ucs2.decode`
  3555. * @memberOf punycode.ucs2
  3556. * @name encode
  3557. * @param {Array} codePoints The array of numeric code points.
  3558. * @returns {String} The new Unicode string (UCS-2).
  3559. */
  3560. function ucs2encode(array) {
  3561. return map(array, function(value) {
  3562. var output = '';
  3563. if (value > 0xFFFF) {
  3564. value -= 0x10000;
  3565. output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
  3566. value = 0xDC00 | value & 0x3FF;
  3567. }
  3568. output += stringFromCharCode(value);
  3569. return output;
  3570. }).join('');
  3571. }
  3572. /**
  3573. * Converts a basic code point into a digit/integer.
  3574. * @see `digitToBasic()`
  3575. * @private
  3576. * @param {Number} codePoint The basic numeric code point value.
  3577. * @returns {Number} The numeric value of a basic code point (for use in
  3578. * representing integers) in the range `0` to `base - 1`, or `base` if
  3579. * the code point does not represent a value.
  3580. */
  3581. function basicToDigit(codePoint) {
  3582. if (codePoint - 48 < 10) {
  3583. return codePoint - 22;
  3584. }
  3585. if (codePoint - 65 < 26) {
  3586. return codePoint - 65;
  3587. }
  3588. if (codePoint - 97 < 26) {
  3589. return codePoint - 97;
  3590. }
  3591. return base;
  3592. }
  3593. /**
  3594. * Converts a digit/integer into a basic code point.
  3595. * @see `basicToDigit()`
  3596. * @private
  3597. * @param {Number} digit The numeric value of a basic code point.
  3598. * @returns {Number} The basic code point whose value (when used for
  3599. * representing integers) is `digit`, which needs to be in the range
  3600. * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
  3601. * used; else, the lowercase form is used. The behavior is undefined
  3602. * if `flag` is non-zero and `digit` has no uppercase form.
  3603. */
  3604. function digitToBasic(digit, flag) {
  3605. // 0..25 map to ASCII a..z or A..Z
  3606. // 26..35 map to ASCII 0..9
  3607. return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
  3608. }
  3609. /**
  3610. * Bias adaptation function as per section 3.4 of RFC 3492.
  3611. * https://tools.ietf.org/html/rfc3492#section-3.4
  3612. * @private
  3613. */
  3614. function adapt(delta, numPoints, firstTime) {
  3615. var k = 0;
  3616. delta = firstTime ? floor(delta / damp) : delta >> 1;
  3617. delta += floor(delta / numPoints);
  3618. for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
  3619. delta = floor(delta / baseMinusTMin);
  3620. }
  3621. return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
  3622. }
  3623. /**
  3624. * Converts a Punycode string of ASCII-only symbols to a string of Unicode
  3625. * symbols.
  3626. * @memberOf punycode
  3627. * @param {String} input The Punycode string of ASCII-only symbols.
  3628. * @returns {String} The resulting string of Unicode symbols.
  3629. */
  3630. function decode(input) {
  3631. // Don't use UCS-2
  3632. var output = [],
  3633. inputLength = input.length,
  3634. out,
  3635. i = 0,
  3636. n = initialN,
  3637. bias = initialBias,
  3638. basic,
  3639. j,
  3640. index,
  3641. oldi,
  3642. w,
  3643. k,
  3644. digit,
  3645. t,
  3646. /** Cached calculation results */
  3647. baseMinusT;
  3648. // Handle the basic code points: let `basic` be the number of input code
  3649. // points before the last delimiter, or `0` if there is none, then copy
  3650. // the first basic code points to the output.
  3651. basic = input.lastIndexOf(delimiter);
  3652. if (basic < 0) {
  3653. basic = 0;
  3654. }
  3655. for (j = 0; j < basic; ++j) {
  3656. // if it's not a basic code point
  3657. if (input.charCodeAt(j) >= 0x80) {
  3658. error('not-basic');
  3659. }
  3660. output.push(input.charCodeAt(j));
  3661. }
  3662. // Main decoding loop: start just after the last delimiter if any basic code
  3663. // points were copied; start at the beginning otherwise.
  3664. for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
  3665. // `index` is the index of the next character to be consumed.
  3666. // Decode a generalized variable-length integer into `delta`,
  3667. // which gets added to `i`. The overflow checking is easier
  3668. // if we increase `i` as we go, then subtract off its starting
  3669. // value at the end to obtain `delta`.
  3670. for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
  3671. if (index >= inputLength) {
  3672. error('invalid-input');
  3673. }
  3674. digit = basicToDigit(input.charCodeAt(index++));
  3675. if (digit >= base || digit > floor((maxInt - i) / w)) {
  3676. error('overflow');
  3677. }
  3678. i += digit * w;
  3679. t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
  3680. if (digit < t) {
  3681. break;
  3682. }
  3683. baseMinusT = base - t;
  3684. if (w > floor(maxInt / baseMinusT)) {
  3685. error('overflow');
  3686. }
  3687. w *= baseMinusT;
  3688. }
  3689. out = output.length + 1;
  3690. bias = adapt(i - oldi, out, oldi == 0);
  3691. // `i` was supposed to wrap around from `out` to `0`,
  3692. // incrementing `n` each time, so we'll fix that now:
  3693. if (floor(i / out) > maxInt - n) {
  3694. error('overflow');
  3695. }
  3696. n += floor(i / out);
  3697. i %= out;
  3698. // Insert `n` at position `i` of the output
  3699. output.splice(i++, 0, n);
  3700. }
  3701. return ucs2encode(output);
  3702. }
  3703. /**
  3704. * Converts a string of Unicode symbols (e.g. a domain name label) to a
  3705. * Punycode string of ASCII-only symbols.
  3706. * @memberOf punycode
  3707. * @param {String} input The string of Unicode symbols.
  3708. * @returns {String} The resulting Punycode string of ASCII-only symbols.
  3709. */
  3710. function encode(input) {
  3711. var n,
  3712. delta,
  3713. handledCPCount,
  3714. basicLength,
  3715. bias,
  3716. j,
  3717. m,
  3718. q,
  3719. k,
  3720. t,
  3721. currentValue,
  3722. output = [],
  3723. /** `inputLength` will hold the number of code points in `input`. */
  3724. inputLength,
  3725. /** Cached calculation results */
  3726. handledCPCountPlusOne,
  3727. baseMinusT,
  3728. qMinusT;
  3729. // Convert the input in UCS-2 to Unicode
  3730. input = ucs2decode(input);
  3731. // Cache the length
  3732. inputLength = input.length;
  3733. // Initialize the state
  3734. n = initialN;
  3735. delta = 0;
  3736. bias = initialBias;
  3737. // Handle the basic code points
  3738. for (j = 0; j < inputLength; ++j) {
  3739. currentValue = input[j];
  3740. if (currentValue < 0x80) {
  3741. output.push(stringFromCharCode(currentValue));
  3742. }
  3743. }
  3744. handledCPCount = basicLength = output.length;
  3745. // `handledCPCount` is the number of code points that have been handled;
  3746. // `basicLength` is the number of basic code points.
  3747. // Finish the basic string - if it is not empty - with a delimiter
  3748. if (basicLength) {
  3749. output.push(delimiter);
  3750. }
  3751. // Main encoding loop:
  3752. while (handledCPCount < inputLength) {
  3753. // All non-basic code points < n have been handled already. Find the next
  3754. // larger one:
  3755. for (m = maxInt, j = 0; j < inputLength; ++j) {
  3756. currentValue = input[j];
  3757. if (currentValue >= n && currentValue < m) {
  3758. m = currentValue;
  3759. }
  3760. }
  3761. // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
  3762. // but guard against overflow
  3763. handledCPCountPlusOne = handledCPCount + 1;
  3764. if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
  3765. error('overflow');
  3766. }
  3767. delta += (m - n) * handledCPCountPlusOne;
  3768. n = m;
  3769. for (j = 0; j < inputLength; ++j) {
  3770. currentValue = input[j];
  3771. if (currentValue < n && ++delta > maxInt) {
  3772. error('overflow');
  3773. }
  3774. if (currentValue == n) {
  3775. // Represent delta as a generalized variable-length integer
  3776. for (q = delta, k = base; /* no condition */; k += base) {
  3777. t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
  3778. if (q < t) {
  3779. break;
  3780. }
  3781. qMinusT = q - t;
  3782. baseMinusT = base - t;
  3783. output.push(
  3784. stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
  3785. );
  3786. q = floor(qMinusT / baseMinusT);
  3787. }
  3788. output.push(stringFromCharCode(digitToBasic(q, 0)));
  3789. bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
  3790. delta = 0;
  3791. ++handledCPCount;
  3792. }
  3793. }
  3794. ++delta;
  3795. ++n;
  3796. }
  3797. return output.join('');
  3798. }
  3799. /**
  3800. * Converts a Punycode string representing a domain name or an email address
  3801. * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
  3802. * it doesn't matter if you call it on a string that has already been
  3803. * converted to Unicode.
  3804. * @memberOf punycode
  3805. * @param {String} input The Punycoded domain name or email address to
  3806. * convert to Unicode.
  3807. * @returns {String} The Unicode representation of the given Punycode
  3808. * string.
  3809. */
  3810. function toUnicode(input) {
  3811. return mapDomain(input, function(string) {
  3812. return regexPunycode.test(string)
  3813. ? decode(string.slice(4).toLowerCase())
  3814. : string;
  3815. });
  3816. }
  3817. /**
  3818. * Converts a Unicode string representing a domain name or an email address to
  3819. * Punycode. Only the non-ASCII parts of the domain name will be converted,
  3820. * i.e. it doesn't matter if you call it with a domain that's already in
  3821. * ASCII.
  3822. * @memberOf punycode
  3823. * @param {String} input The domain name or email address to convert, as a
  3824. * Unicode string.
  3825. * @returns {String} The Punycode representation of the given domain name or
  3826. * email address.
  3827. */
  3828. function toASCII(input) {
  3829. return mapDomain(input, function(string) {
  3830. return regexNonASCII.test(string)
  3831. ? 'xn--' + encode(string)
  3832. : string;
  3833. });
  3834. }
  3835. /*--------------------------------------------------------------------------*/
  3836. /** Define the public API */
  3837. punycode = {
  3838. /**
  3839. * A string representing the current Punycode.js version number.
  3840. * @memberOf punycode
  3841. * @type String
  3842. */
  3843. 'version': '1.4.1',
  3844. /**
  3845. * An object of methods to convert from JavaScript's internal character
  3846. * representation (UCS-2) to Unicode code points, and back.
  3847. * @see <https://mathiasbynens.be/notes/javascript-encoding>
  3848. * @memberOf punycode
  3849. * @type Object
  3850. */
  3851. 'ucs2': {
  3852. 'decode': ucs2decode,
  3853. 'encode': ucs2encode
  3854. },
  3855. 'decode': decode,
  3856. 'encode': encode,
  3857. 'toASCII': toASCII,
  3858. 'toUnicode': toUnicode
  3859. };
  3860. /** Expose `punycode` */
  3861. // Some AMD build optimizers, like r.js, check for specific condition patterns
  3862. // like the following:
  3863. if (
  3864. typeof define == 'function' &&
  3865. typeof define.amd == 'object' &&
  3866. define.amd
  3867. ) {
  3868. define('punycode', function() {
  3869. return punycode;
  3870. });
  3871. } else if (freeExports && freeModule) {
  3872. if (module.exports == freeExports) {
  3873. // in Node.js, io.js, or RingoJS v0.8.0+
  3874. freeModule.exports = punycode;
  3875. } else {
  3876. // in Narwhal or RingoJS v0.7.0-
  3877. for (key in punycode) {
  3878. punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
  3879. }
  3880. }
  3881. } else {
  3882. // in Rhino or a web browser
  3883. root.punycode = punycode;
  3884. }
  3885. }(this));
  3886. }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  3887. },{}]},{},[3]);