{"version":3,"file":"runestone.d6e48037c4e99c27.bundle.js","mappings":"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","sources":["webpack://WebComponents/./runestone/common/js/bookfuncs.js","webpack://WebComponents/./runestone/common/js/jquery.idle-timer.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.language.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.parser.js","webpack://WebComponents/./runestone/common/js/presenter_mode.js","webpack://WebComponents/./runestone/common/js/runestonebase.js","webpack://WebComponents/./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js","webpack://WebComponents/./runestone/common/js/user-highlights.js","webpack://WebComponents/./runestone/common/js/pretext.js","webpack://WebComponents/./webpack.index.js","webpack://WebComponents/./runestone/common/js/theme.js","webpack://WebComponents/external var \"jQuery\""],"sourcesContent":["/**\n *\n * User: bmiller\n * Original: 2011-04-20\n * Date: 2019-06-14\n * Time: 2:01 PM\n * This change marks the beginning of version 4.0 of the runestone components\n * Login/logout is no longer handled through javascript but rather server side.\n * Many of the components depend on the runestone:login event so we will keep that\n * for now to keep the churn fairly minimal.\n */\n\n/*\n\n Copyright (C) 2011 Brad Miller bonelake@gmail.com\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see
load('path/to/all_localizations.json');
\n\t\t *\n\t\t * To load a localization file for a locale:\n\t\t * \n\t\t * load('path/to/de-messages.json', 'de' );\n\t\t *
\n\t\t *\n\t\t * To load a localization file from a directory:\n\t\t * \n\t\t * load('path/to/i18n/directory', 'de' );\n\t\t *
\n\t\t * The above method has the advantage of fallback resolution.\n\t\t * ie, it will automatically load the fallback locales for de.\n\t\t * For most usecases, this is the recommended method.\n\t\t * It is optional to have trailing slash at end.\n\t\t *\n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t *
\n\t\t *\n\t\t * A source map containing key-value pair of languagename and locations\n\t\t * can also be passed. Example:\n\t\t * \n\t\t * load( {\n\t\t * bn: 'i18n/bn.json',\n\t\t * he: 'i18n/he.json',\n\t\t * en: 'i18n/en.json'\n\t\t * } )\n\t\t *
\n\t\t *\n\t\t * If the data argument is null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar fallbackLocales, locIndex, fallbackLocale, sourceMap = {};\n\t\t\tif ( !source && !locale ) {\n\t\t\t\tsource = 'i18n/' + $.i18n().locale + '.json';\n\t\t\t\tlocale = $.i18n().locale;\n\t\t\t}\n\t\t\tif ( typeof source === 'string' &&\n\t\t\t\t// source extension should be json, but can have query params after that.\n\t\t\t\tsource.split( '?' )[ 0 ].split( '.' ).pop() !== 'json'\n\t\t\t) {\n\t\t\t\t// Load specified locale then check for fallbacks when directory is\n\t\t\t\t// specified in load()\n\t\t\t\tsourceMap[ locale ] = source + '/' + locale + '.json';\n\t\t\t\tfallbackLocales = ( $.i18n.fallbacks[ locale ] || [] )\n\t\t\t\t\t.concat( this.options.fallbackLocale );\n\t\t\t\tfor ( locIndex = 0; locIndex < fallbackLocales.length; locIndex++ ) {\n\t\t\t\t\tfallbackLocale = fallbackLocales[ locIndex ];\n\t\t\t\t\tsourceMap[ fallbackLocale ] = source + '/' + fallbackLocale + '.json';\n\t\t\t\t}\n\t\t\t\treturn this.load( sourceMap );\n\t\t\t} else {\n\t\t\t\treturn this.messageStore.load( source, locale );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Does parameter and magic word substitution.\n\t\t *\n\t\t * @param {string} key Message key\n\t\t * @param {Array} parameters Message parameters\n\t\t * @return {string}\n\t\t */\n\t\tparse: function ( key, parameters ) {\n\t\t\tvar message = this.localize( key );\n\t\t\t// FIXME: This changes the state of the I18N object,\n\t\t\t// should probably not change the 'this.parser' but just\n\t\t\t// pass it to the parser.\n\t\t\tthis.parser.language = $.i18n.languages[ $.i18n().locale ] || $.i18n.languages[ 'default' ];\n\t\t\tif ( message === '' ) {\n\t\t\t\tmessage = key;\n\t\t\t}\n\t\t\treturn this.parser.parse( message, parameters );\n\t\t}\n\t};\n\n\t/**\n\t * Process a message from the $.I18N instance\n\t * for the current document, stored in jQuery.data(document).\n\t *\n\t * @param {string} key Key of the message.\n\t * @param {string} param1 [param...] Variadic list of parameters for {key}.\n\t * @return {string|$.I18N} Parsed message, or if no key was given\n\t * the instance of $.I18N is returned.\n\t */\n\t$.i18n = function ( key, param1 ) {\n\t\tvar parameters,\n\t\t\ti18n = $.data( document, 'i18n' ),\n\t\t\toptions = typeof key === 'object' && key;\n\n\t\t// If the locale option for this call is different then the setup so far,\n\t\t// update it automatically. This doesn't just change the context for this\n\t\t// call but for all future call as well.\n\t\t// If there is no i18n setup yet, don't do this. It will be taken care of\n\t\t// by the `new I18N` construction below.\n\t\t// NOTE: It should only change language for this one call.\n\t\t// Then cache instances of I18N somewhere.\n\t\tif ( options && options.locale && i18n && i18n.locale !== options.locale ) {\n\t\t\ti18n.locale = options.locale;\n\t\t}\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N( options );\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\tif ( typeof key === 'string' ) {\n\t\t\tif ( param1 !== undefined ) {\n\t\t\t\tparameters = slice.call( arguments, 1 );\n\t\t\t} else {\n\t\t\t\tparameters = [];\n\t\t\t}\n\n\t\t\treturn i18n.parse( key, parameters );\n\t\t} else {\n\t\t\t// FIXME: remove this feature/bug.\n\t\t\treturn i18n;\n\t\t}\n\t};\n\n\t$.fn.i18n = function () {\n\t\tvar i18n = $.data( document, 'i18n' );\n\n\t\tif ( !i18n ) {\n\t\t\ti18n = new I18N();\n\t\t\t$.data( document, 'i18n', i18n );\n\t\t}\n\n\t\treturn this.each( function () {\n\t\t\tvar $this = $( this ),\n\t\t\t\tmessageKey = $this.data( 'i18n' ),\n\t\t\t\tlBracket, rBracket, type, key;\n\n\t\t\tif ( messageKey ) {\n\t\t\t\tlBracket = messageKey.indexOf( '[' );\n\t\t\t\trBracket = messageKey.indexOf( ']' );\n\t\t\t\tif ( lBracket !== -1 && rBracket !== -1 && lBracket < rBracket ) {\n\t\t\t\t\ttype = messageKey.slice( lBracket + 1, rBracket );\n\t\t\t\t\tkey = messageKey.slice( rBracket + 1 );\n\t\t\t\t\tif ( type === 'html' ) {\n\t\t\t\t\t\t$this.html( i18n.parse( key ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$this.attr( type, i18n.parse( key ) );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$this.text( i18n.parse( messageKey ) );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$this.find( '[data-i18n]' ).i18n();\n\t\t\t}\n\t\t} );\n\t};\n\n\tfunction getDefaultLocale() {\n\t\tvar nav, locale = $( 'html' ).attr( 'lang' );\n\n\t\tif ( !locale ) {\n\t\t\tif ( typeof window.navigator !== undefined ) {\n\t\t\t\tnav = window.navigator;\n\t\t\t\tlocale = nav.language || nav.userLanguage || '';\n\t\t\t} else {\n\t\t\t\tlocale = '';\n\t\t\t}\n\t\t}\n\t\treturn locale;\n\t}\n\n\t$.i18n.languages = {};\n\t$.i18n.messageStore = $.i18n.messageStore || {};\n\t$.i18n.parser = {\n\t\t// The default parser only handles variable substitution\n\t\tparse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\t\temitter: {}\n\t};\n\t$.i18n.fallbacks = {};\n\t$.i18n.debug = false;\n\t$.i18n.log = function ( /* arguments */ ) {\n\t\tif ( window.console && $.i18n.debug ) {\n\t\t\twindow.console.log.apply( window.console, arguments );\n\t\t}\n\t};\n\t/* Static members */\n\tI18N.defaults = {\n\t\tlocale: getDefaultLocale(),\n\t\tfallbackLocale: 'en',\n\t\tparser: $.i18n.parser,\n\t\tmessageStore: $.i18n.messageStore\n\t};\n\n\t// Expose constructor\n\t$.i18n.constructor = I18N;\n}( jQuery ) );","/* global pluralRuleParser */\n( function ( $ ) {\n\t'use strict';\n\n\t// jscs:disable\n\tvar language = {\n\t\t// CLDR plural rules generated using\n\t\t// libs/CLDRPluralRuleParser/tools/PluralXML2JSON.html\n\t\tpluralRules: {\n\t\t\tak: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tam: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tar: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tars: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n % 100 = 3..10',\n\t\t\t\tmany: 'n % 100 = 11..99'\n\t\t\t},\n\t\t\tas: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbe: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11',\n\t\t\t\tfew: 'n % 10 = 2..4 and n % 100 != 12..14',\n\t\t\t\tmany: 'n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14'\n\t\t\t},\n\t\t\tbh: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tbn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tbr: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11,71,91',\n\t\t\t\ttwo: 'n % 10 = 2 and n % 100 != 12,72,92',\n\t\t\t\tfew: 'n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99',\n\t\t\t\tmany: 'n != 0 and n % 1000000 = 0'\n\t\t\t},\n\t\t\tbs: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tcs: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tcy: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3',\n\t\t\t\tmany: 'n = 6'\n\t\t\t},\n\t\t\tda: {\n\t\t\t\tone: 'n = 1 or t != 0 and i = 0,1'\n\t\t\t},\n\t\t\tdsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\tfa: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tff: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tfil: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\tfr: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tga: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2',\n\t\t\t\tfew: 'n = 3..6',\n\t\t\t\tmany: 'n = 7..10'\n\t\t\t},\n\t\t\tgd: {\n\t\t\t\tone: 'n = 1,11',\n\t\t\t\ttwo: 'n = 2,12',\n\t\t\t\tfew: 'n = 3..10,13..19'\n\t\t\t},\n\t\t\tgu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tguw: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tgv: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 10 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 0,20,40,60,80',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\the: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\thi: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\thr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\thsb: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1 or f % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2 or f % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or f % 100 = 3..4'\n\t\t\t},\n\t\t\thy: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tis: {\n\t\t\t\tone: 't = 0 and i % 10 = 1 and i % 100 != 11 or t != 0'\n\t\t\t},\n\t\t\tiu: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tiw: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\ttwo: 'i = 2 and v = 0',\n\t\t\t\tmany: 'v = 0 and n != 0..10 and n % 10 = 0'\n\t\t\t},\n\t\t\tkab: {\n\t\t\t\tone: 'i = 0,1'\n\t\t\t},\n\t\t\tkn: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tkw: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tlag: {\n\t\t\t\tzero: 'n = 0',\n\t\t\t\tone: 'i = 0,1 and n != 0'\n\t\t\t},\n\t\t\tln: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tlt: {\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11..19',\n\t\t\t\tfew: 'n % 10 = 2..9 and n % 100 != 11..19',\n\t\t\t\tmany: 'f != 0'\n\t\t\t},\n\t\t\tlv: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tmg: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tmk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 or f % 10 = 1'\n\t\t\t},\n\t\t\tmo: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tmr: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t},\n\t\t\tmt: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\tfew: 'n = 0 or n % 100 = 2..10',\n\t\t\t\tmany: 'n % 100 = 11..19'\n\t\t\t},\n\t\t\tnaq: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tnso: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tpl: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i != 1 and i % 10 = 0..1 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 12..14'\n\t\t\t},\n\t\t\tprg: {\n\t\t\t\tzero: 'n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19',\n\t\t\t\tone: 'n % 10 = 1 and n % 100 != 11 or v = 2 and f % 10 = 1 and f % 100 != 11 or v != 2 and f % 10 = 1'\n\t\t\t},\n\t\t\tpt: {\n\t\t\t\tone: 'i = 0..1'\n\t\t\t},\n\t\t\tro: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'v != 0 or n = 0 or n != 1 and n % 100 = 1..19'\n\t\t\t},\n\t\t\tru: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\tse: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsh: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tshi: {\n\t\t\t\tone: 'i = 0 or n = 1',\n\t\t\t\tfew: 'n = 2..10'\n\t\t\t},\n\t\t\tsi: {\n\t\t\t\tone: 'n = 0,1 or i = 0 and f = 1'\n\t\t\t},\n\t\t\tsk: {\n\t\t\t\tone: 'i = 1 and v = 0',\n\t\t\t\tfew: 'i = 2..4 and v = 0',\n\t\t\t\tmany: 'v != 0'\n\t\t\t},\n\t\t\tsl: {\n\t\t\t\tone: 'v = 0 and i % 100 = 1',\n\t\t\t\ttwo: 'v = 0 and i % 100 = 2',\n\t\t\t\tfew: 'v = 0 and i % 100 = 3..4 or v != 0'\n\t\t\t},\n\t\t\tsma: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmi: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmj: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsmn: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsms: {\n\t\t\t\tone: 'n = 1',\n\t\t\t\ttwo: 'n = 2'\n\t\t\t},\n\t\t\tsr: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14'\n\t\t\t},\n\t\t\tti: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\ttl: {\n\t\t\t\tone: 'v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9'\n\t\t\t},\n\t\t\ttzm: {\n\t\t\t\tone: 'n = 0..1 or n = 11..99'\n\t\t\t},\n\t\t\tuk: {\n\t\t\t\tone: 'v = 0 and i % 10 = 1 and i % 100 != 11',\n\t\t\t\tfew: 'v = 0 and i % 10 = 2..4 and i % 100 != 12..14',\n\t\t\t\tmany: 'v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14'\n\t\t\t},\n\t\t\twa: {\n\t\t\t\tone: 'n = 0..1'\n\t\t\t},\n\t\t\tzu: {\n\t\t\t\tone: 'i = 0 or n = 1'\n\t\t\t}\n\t\t},\n\t\t// jscs:enable\n\n\t\t/**\n\t\t * Plural form transformations, needed for some languages.\n\t\t *\n\t\t * @param {integer} count\n\t\t * Non-localized quantifier\n\t\t * @param {Array} forms\n\t\t * List of plural forms\n\t\t * @return {string} Correct form for quantifier in this language\n\t\t */\n\t\tconvertPlural: function ( count, forms ) {\n\t\t\tvar pluralRules,\n\t\t\t\tpluralFormIndex,\n\t\t\t\tindex,\n\t\t\t\texplicitPluralPattern = new RegExp( '\\\\d+=', 'i' ),\n\t\t\t\tformCount,\n\t\t\t\tform;\n\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\t// Handle for Explicit 0= & 1= values\n\t\t\tfor ( index = 0; index < forms.length; index++ ) {\n\t\t\t\tform = forms[ index ];\n\t\t\t\tif ( explicitPluralPattern.test( form ) ) {\n\t\t\t\t\tformCount = parseInt( form.slice( 0, form.indexOf( '=' ) ), 10 );\n\t\t\t\t\tif ( formCount === count ) {\n\t\t\t\t\t\treturn ( form.slice( form.indexOf( '=' ) + 1 ) );\n\t\t\t\t\t}\n\t\t\t\t\tforms[ index ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tforms = $.map( forms, function ( form ) {\n\t\t\t\tif ( form !== undefined ) {\n\t\t\t\t\treturn form;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tpluralRules = this.pluralRules[ $.i18n().locale ];\n\n\t\t\tif ( !pluralRules ) {\n\t\t\t\t// default fallback.\n\t\t\t\treturn ( count === 1 ) ? forms[ 0 ] : forms[ 1 ];\n\t\t\t}\n\n\t\t\tpluralFormIndex = this.getPluralForm( count, pluralRules );\n\t\t\tpluralFormIndex = Math.min( pluralFormIndex, forms.length - 1 );\n\n\t\t\treturn forms[ pluralFormIndex ];\n\t\t},\n\n\t\t/**\n\t\t * For the number, get the plural for index\n\t\t *\n\t\t * @param {integer} number\n\t\t * @param {Object} pluralRules\n\t\t * @return {integer} plural form index\n\t\t */\n\t\tgetPluralForm: function ( number, pluralRules ) {\n\t\t\tvar i,\n\t\t\t\tpluralForms = [ 'zero', 'one', 'two', 'few', 'many', 'other' ],\n\t\t\t\tpluralFormIndex = 0;\n\n\t\t\tfor ( i = 0; i < pluralForms.length; i++ ) {\n\t\t\t\tif ( pluralRules[ pluralForms[ i ] ] ) {\n\t\t\t\t\tif ( pluralRuleParser( pluralRules[ pluralForms[ i ] ], number ) ) {\n\t\t\t\t\t\treturn pluralFormIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\tpluralFormIndex++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn pluralFormIndex;\n\t\t},\n\n\t\t/**\n\t\t * Converts a number using digitTransformTable.\n\t\t *\n\t\t * @param {number} num Value to be converted\n\t\t * @param {boolean} integer Convert the return value to an integer\n\t\t * @return {string} The number converted into a String.\n\t\t */\n\t\tconvertNumber: function ( num, integer ) {\n\t\t\tvar tmp, item, i,\n\t\t\t\ttransformTable, numberString, convertedNumber;\n\n\t\t\t// Set the target Transform table:\n\t\t\ttransformTable = this.digitTransformTable( $.i18n().locale );\n\t\t\tnumberString = String( num );\n\t\t\tconvertedNumber = '';\n\n\t\t\tif ( !transformTable ) {\n\t\t\t\treturn num;\n\t\t\t}\n\n\t\t\t// Check if the restore to Latin number flag is set:\n\t\t\tif ( integer ) {\n\t\t\t\tif ( parseFloat( num, 10 ) === num ) {\n\t\t\t\t\treturn num;\n\t\t\t\t}\n\n\t\t\t\ttmp = [];\n\n\t\t\t\tfor ( item in transformTable ) {\n\t\t\t\t\ttmp[ transformTable[ item ] ] = item;\n\t\t\t\t}\n\n\t\t\t\ttransformTable = tmp;\n\t\t\t}\n\n\t\t\tfor ( i = 0; i < numberString.length; i++ ) {\n\t\t\t\tif ( transformTable[ numberString[ i ] ] ) {\n\t\t\t\t\tconvertedNumber += transformTable[ numberString[ i ] ];\n\t\t\t\t} else {\n\t\t\t\t\tconvertedNumber += numberString[ i ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn integer ? parseFloat( convertedNumber, 10 ) : convertedNumber;\n\t\t},\n\n\t\t/**\n\t\t * Grammatical transformations, needed for inflected languages.\n\t\t * Invoked by putting {{grammar:form|word}} in a message.\n\t\t * Override this method for languages that need special grammar rules\n\t\t * applied dynamically.\n\t\t *\n\t\t * @param {string} word\n\t\t * @param {string} form\n\t\t * @return {string}\n\t\t */\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconvertGrammar: function ( word, form ) {\n\t\t\treturn word;\n\t\t},\n\n\t\t/**\n\t\t * Provides an alternative text depending on specified gender. Usage\n\t\t * {{gender:[gender|user object]|masculine|feminine|neutral}}. If second\n\t\t * or third parameter are not specified, masculine is used.\n\t\t *\n\t\t * These details may be overriden per language.\n\t\t *\n\t\t * @param {string} gender\n\t\t * male, female, or anything else for neutral.\n\t\t * @param {Array} forms\n\t\t * List of gender forms\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tgender: function ( gender, forms ) {\n\t\t\tif ( !forms || forms.length === 0 ) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\twhile ( forms.length < 2 ) {\n\t\t\t\tforms.push( forms[ forms.length - 1 ] );\n\t\t\t}\n\n\t\t\tif ( gender === 'male' ) {\n\t\t\t\treturn forms[ 0 ];\n\t\t\t}\n\n\t\t\tif ( gender === 'female' ) {\n\t\t\t\treturn forms[ 1 ];\n\t\t\t}\n\n\t\t\treturn ( forms.length === 3 ) ? forms[ 2 ] : forms[ 0 ];\n\t\t},\n\n\t\t/**\n\t\t * Get the digit transform table for the given language\n\t\t * See http://cldr.unicode.org/translation/numbering-systems\n\t\t *\n\t\t * @param {string} language\n\t\t * @return {Array|boolean} List of digits in the passed language or false\n\t\t * representation, or boolean false if there is no information.\n\t\t */\n\t\tdigitTransformTable: function ( language ) {\n\t\t\tvar tables = {\n\t\t\t\tar: '٠١٢٣٤٥٦٧٨٩',\n\t\t\t\tfa: '۰۱۲۳۴۵۶۷۸۹',\n\t\t\t\tml: '൦൧൨൩൪൫൬൭൮൯',\n\t\t\t\tkn: '೦೧೨೩೪೫೬೭೮೯',\n\t\t\t\tlo: '໐໑໒໓໔໕໖໗໘໙',\n\t\t\t\tor: '୦୧୨୩୪୫୬୭୮୯',\n\t\t\t\tkh: '០១២៣៤៥៦៧៨៩',\n\t\t\t\tpa: '੦੧੨੩੪੫੬੭੮੯',\n\t\t\t\tgu: '૦૧૨૩૪૫૬૭૮૯',\n\t\t\t\thi: '०१२३४५६७८९',\n\t\t\t\tmy: '၀၁၂၃၄၅၆၇၈၉',\n\t\t\t\tta: '௦௧௨௩௪௫௬௭௮௯',\n\t\t\t\tte: '౦౧౨౩౪౫౬౭౮౯',\n\t\t\t\tth: '๐๑๒๓๔๕๖๗๘๙', // FIXME use iso 639 codes\n\t\t\t\tbo: '༠༡༢༣༤༥༦༧༨༩' // FIXME use iso 639 codes\n\t\t\t};\n\n\t\t\tif ( !tables[ language ] ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn tables[ language ].split( '' );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.languages, {\n\t\t'default': language\n\t} );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library - Message Store\n *\n * Copyright (C) 2012 Santhosh Thottingal\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do anything special to\n * choose one license or the other and you don't have to notify anyone which license you are using.\n * You are free to use UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageStore = function () {\n\t\tthis.messages = {};\n\t\tthis.sources = {};\n\t};\n\n\tfunction jsonMessageLoader( url ) {\n\t\tvar deferred = $.Deferred();\n\n\t\t$.getJSON( url )\n\t\t\t.done( deferred.resolve )\n\t\t\t.fail( function ( jqxhr, settings, exception ) {\n\t\t\t\t$.i18n.log( 'Error in loading messages from ' + url + ' Exception: ' + exception );\n\t\t\t\t// Ignore 404 exception, because we are handling fallabacks explicitly\n\t\t\t\tdeferred.resolve();\n\t\t\t} );\n\n\t\treturn deferred.promise();\n\t}\n\n\t/**\n\t * See https://github.com/wikimedia/jquery.i18n/wiki/Specification#wiki-Message_File_Loading\n\t */\n\tMessageStore.prototype = {\n\n\t\t/**\n\t\t * General message loading API This can take a URL string for\n\t\t * the json formatted messages.\n\t\t * load('path/to/all_localizations.json');
\n\t\t *\n\t\t * This can also load a localization file for a locale \n\t\t * load( 'path/to/de-messages.json', 'de' );\n\t\t *
\n\t\t * A data object containing message key- message translation mappings\n\t\t * can also be passed Eg:\n\t\t * \n\t\t * load( { 'hello' : 'Hello' }, optionalLocale );\n\t\t *
If the data argument is\n\t\t * null/undefined/false,\n\t\t * all cached messages for the i18n instance will get reset.\n\t\t *\n\t\t * @param {string|Object} source\n\t\t * @param {string} locale Language tag\n\t\t * @return {jQuery.Promise}\n\t\t */\n\t\tload: function ( source, locale ) {\n\t\t\tvar key = null,\n\t\t\t\tdeferred = null,\n\t\t\t\tdeferreds = [],\n\t\t\t\tmessageStore = this;\n\n\t\t\tif ( typeof source === 'string' ) {\n\t\t\t\t// This is a URL to the messages file.\n\t\t\t\t$.i18n.log( 'Loading messages from: ' + source );\n\t\t\t\tdeferred = jsonMessageLoader( source )\n\t\t\t\t\t.done( function ( localization ) {\n\t\t\t\t\t\tmessageStore.set( locale, localization );\n\t\t\t\t\t} );\n\n\t\t\t\treturn deferred.promise();\n\t\t\t}\n\n\t\t\tif ( locale ) {\n\t\t\t\t// source is an key-value pair of messages for given locale\n\t\t\t\tmessageStore.set( locale, source );\n\n\t\t\t\treturn $.Deferred().resolve();\n\t\t\t} else {\n\t\t\t\t// source is a key-value pair of locales and their source\n\t\t\t\tfor ( key in source ) {\n\t\t\t\t\tif ( Object.prototype.hasOwnProperty.call( source, key ) ) {\n\t\t\t\t\t\tlocale = key;\n\t\t\t\t\t\t// No {locale} given, assume data is a group of languages,\n\t\t\t\t\t\t// call this function again for each language.\n\t\t\t\t\t\tdeferreds.push( messageStore.load( source[ key ], locale ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $.when.apply( $, deferreds );\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Set messages to the given locale.\n\t\t * If locale exists, add messages to the locale.\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {Object} messages\n\t\t */\n\t\tset: function ( locale, messages ) {\n\t\t\tif ( !this.messages[ locale ] ) {\n\t\t\t\tthis.messages[ locale ] = messages;\n\t\t\t} else {\n\t\t\t\tthis.messages[ locale ] = $.extend( this.messages[ locale ], messages );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t *\n\t\t * @param {string} locale\n\t\t * @param {string} messageKey\n\t\t * @return {boolean}\n\t\t */\n\t\tget: function ( locale, messageKey ) {\n\t\t\treturn this.messages[ locale ] && this.messages[ locale ][ messageKey ];\n\t\t}\n\t};\n\n\t$.extend( $.i18n.messageStore, new MessageStore() );\n}( jQuery ) );\n","/*!\n * jQuery Internationalization library\n *\n * Copyright (C) 2011-2013 Santhosh Thottingal, Neil Kandalgaonkar\n *\n * jquery.i18n is dual licensed GPLv2 or later and MIT. You don't have to do\n * anything special to choose one license or the other and you don't have to\n * notify anyone which license you are using. You are free to use\n * UniversalLanguageSelector in commercial projects as long as the copyright\n * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.\n *\n * @licence GNU General Public Licence 2.0 or later\n * @licence MIT License\n */\n\n( function ( $ ) {\n\t'use strict';\n\n\tvar MessageParser = function ( options ) {\n\t\tthis.options = $.extend( {}, $.i18n.parser.defaults, options );\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t\tthis.emitter = $.i18n.parser.emitter;\n\t};\n\n\tMessageParser.prototype = {\n\n\t\tconstructor: MessageParser,\n\n\t\tsimpleParse: function ( message, parameters ) {\n\t\t\treturn message.replace( /\\$(\\d+)/g, function ( str, match ) {\n\t\t\t\tvar index = parseInt( match, 10 ) - 1;\n\n\t\t\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t\t\t} );\n\t\t},\n\n\t\tparse: function ( message, replacements ) {\n\t\t\tif ( message.indexOf( '{{' ) < 0 ) {\n\t\t\t\treturn this.simpleParse( message, replacements );\n\t\t\t}\n\n\t\t\tthis.emitter.language = $.i18n.languages[ $.i18n().locale ] ||\n\t\t\t\t$.i18n.languages[ 'default' ];\n\n\t\t\treturn this.emitter.emit( this.ast( message ), replacements );\n\t\t},\n\n\t\tast: function ( message ) {\n\t\t\tvar pipe, colon, backslash, anyCharacter, dollar, digits, regularLiteral,\n\t\t\t\tregularLiteralWithoutBar, regularLiteralWithoutSpace, escapedOrLiteralWithoutBar,\n\t\t\t\tescapedOrRegularLiteral, templateContents, templateName, openTemplate,\n\t\t\t\tcloseTemplate, expression, paramExpression, result,\n\t\t\t\tpos = 0;\n\n\t\t\t// Try parsers until one works, if none work return null\n\t\t\tfunction choice( parserSyntax ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar i, result;\n\n\t\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\t\tresult = parserSyntax[ i ]();\n\n\t\t\t\t\t\tif ( result !== null ) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn null;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Try several parserSyntax-es in a row.\n\t\t\t// All must succeed; otherwise, return null.\n\t\t\t// This is the only eager one.\n\t\t\tfunction sequence( parserSyntax ) {\n\t\t\t\tvar i, res,\n\t\t\t\t\toriginalPos = pos,\n\t\t\t\t\tresult = [];\n\n\t\t\t\tfor ( i = 0; i < parserSyntax.length; i++ ) {\n\t\t\t\t\tres = parserSyntax[ i ]();\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult.push( res );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// Run the same parser over and over until it fails.\n\t\t\t// Must succeed a minimum of n times; otherwise, return null.\n\t\t\tfunction nOrMore( n, p ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar originalPos = pos,\n\t\t\t\t\t\tresult = [],\n\t\t\t\t\t\tparsed = p();\n\n\t\t\t\t\twhile ( parsed !== null ) {\n\t\t\t\t\t\tresult.push( parsed );\n\t\t\t\t\t\tparsed = p();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( result.length < n ) {\n\t\t\t\t\t\tpos = originalPos;\n\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Helpers -- just make parserSyntax out of simpler JS builtin types\n\n\t\t\tfunction makeStringParser( s ) {\n\t\t\t\tvar len = s.length;\n\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = null;\n\n\t\t\t\t\tif ( message.slice( pos, pos + len ) === s ) {\n\t\t\t\t\t\tresult = s;\n\t\t\t\t\t\tpos += len;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction makeRegexParser( regex ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar matches = message.slice( pos ).match( regex );\n\n\t\t\t\t\tif ( matches === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tpos += matches[ 0 ].length;\n\n\t\t\t\t\treturn matches[ 0 ];\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tpipe = makeStringParser( '|' );\n\t\t\tcolon = makeStringParser( ':' );\n\t\t\tbackslash = makeStringParser( '\\\\' );\n\t\t\tanyCharacter = makeRegexParser( /^./ );\n\t\t\tdollar = makeStringParser( '$' );\n\t\t\tdigits = makeRegexParser( /^\\d+/ );\n\t\t\tregularLiteral = makeRegexParser( /^[^{}[\\]$\\\\]/ );\n\t\t\tregularLiteralWithoutBar = makeRegexParser( /^[^{}[\\]$\\\\|]/ );\n\t\t\tregularLiteralWithoutSpace = makeRegexParser( /^[^{}[\\]$\\s]/ );\n\n\t\t\t// There is a general pattern:\n\t\t\t// parse a thing;\n\t\t\t// if it worked, apply transform,\n\t\t\t// otherwise return null.\n\t\t\t// But using this as a combinator seems to cause problems\n\t\t\t// when combined with nOrMore().\n\t\t\t// May be some scoping issue.\n\t\t\tfunction transform( p, fn ) {\n\t\t\t\treturn function () {\n\t\t\t\t\tvar result = p();\n\n\t\t\t\t\treturn result === null ? null : fn( result );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Used to define \"literals\" within template parameters. The pipe\n\t\t\t// character is the parameter delimeter, so by default\n\t\t\t// it is not a literal in the parameter\n\t\t\tfunction literalWithoutBar() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrLiteralWithoutBar )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction literal() {\n\t\t\t\tvar result = nOrMore( 1, escapedOrRegularLiteral )();\n\n\t\t\t\treturn result === null ? null : result.join( '' );\n\t\t\t}\n\n\t\t\tfunction escapedLiteral() {\n\t\t\t\tvar result = sequence( [ backslash, anyCharacter ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\tchoice( [ escapedLiteral, regularLiteralWithoutSpace ] );\n\t\t\tescapedOrLiteralWithoutBar = choice( [ escapedLiteral, regularLiteralWithoutBar ] );\n\t\t\tescapedOrRegularLiteral = choice( [ escapedLiteral, regularLiteral ] );\n\n\t\t\tfunction replacement() {\n\t\t\t\tvar result = sequence( [ dollar, digits ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'REPLACE', parseInt( result[ 1 ], 10 ) - 1 ];\n\t\t\t}\n\n\t\t\ttemplateName = transform(\n\t\t\t\t// see $wgLegalTitleChars\n\t\t\t\t// not allowing : due to the need to catch \"PLURAL:$1\"\n\t\t\t\tmakeRegexParser( /^[ !\"$&'()*,./0-9;=?@A-Z^_`a-z~\\x80-\\xFF+-]+/ ),\n\n\t\t\t\tfunction ( result ) {\n\t\t\t\t\treturn result.toString();\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tfunction templateParam() {\n\t\t\t\tvar expr,\n\t\t\t\t\tresult = sequence( [ pipe, nOrMore( 0, paramExpression ) ] );\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\texpr = result[ 1 ];\n\n\t\t\t\t// use a \"CONCAT\" operator if there are multiple nodes,\n\t\t\t\t// otherwise return the first node, raw.\n\t\t\t\treturn expr.length > 1 ? [ 'CONCAT' ].concat( expr ) : expr[ 0 ];\n\t\t\t}\n\n\t\t\tfunction templateWithReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, replacement ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\tfunction templateWithOutReplacement() {\n\t\t\t\tvar result = sequence( [ templateName, colon, paramExpression ] );\n\n\t\t\t\treturn result === null ? null : [ result[ 0 ], result[ 2 ] ];\n\t\t\t}\n\n\t\t\ttemplateContents = choice( [\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [\n\t\t\t\t\t\t// templates can have placeholders for dynamic\n\t\t\t\t\t\t// replacement eg: {{PLURAL:$1|one car|$1 cars}}\n\t\t\t\t\t\t// or no placeholders eg:\n\t\t\t\t\t\t// {{GRAMMAR:genitive|{{SITENAME}}}\n\t\t\t\t\t\tchoice( [ templateWithReplacement, templateWithOutReplacement ] ),\n\t\t\t\t\t\tnOrMore( 0, templateParam )\n\t\t\t\t\t] );\n\n\t\t\t\t\treturn res === null ? null : res[ 0 ].concat( res[ 1 ] );\n\t\t\t\t},\n\t\t\t\tfunction () {\n\t\t\t\t\tvar res = sequence( [ templateName, nOrMore( 0, templateParam ) ] );\n\n\t\t\t\t\tif ( res === null ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ res[ 0 ] ].concat( res[ 1 ] );\n\t\t\t\t}\n\t\t\t] );\n\n\t\t\topenTemplate = makeStringParser( '{{' );\n\t\t\tcloseTemplate = makeStringParser( '}}' );\n\n\t\t\tfunction template() {\n\t\t\t\tvar result = sequence( [ openTemplate, templateContents, closeTemplate ] );\n\n\t\t\t\treturn result === null ? null : result[ 1 ];\n\t\t\t}\n\n\t\t\texpression = choice( [ template, replacement, literal ] );\n\t\t\tparamExpression = choice( [ template, replacement, literalWithoutBar ] );\n\n\t\t\tfunction start() {\n\t\t\t\tvar result = nOrMore( 0, expression )();\n\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn [ 'CONCAT' ].concat( result );\n\t\t\t}\n\n\t\t\tresult = start();\n\n\t\t\t/*\n\t\t\t * For success, the pos must have gotten to the end of the input\n\t\t\t * and returned a non-null.\n\t\t\t * n.b. This is part of language infrastructure, so we do not throw an\n\t\t\t * internationalizable message.\n\t\t\t */\n\t\t\tif ( result === null || pos !== message.length ) {\n\t\t\t\tthrow new Error( 'Parse error at position ' + pos.toString() + ' in input: ' + message );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t};\n\n\t$.extend( $.i18n.parser, new MessageParser() );\n}( jQuery ) );","var codeExercises;\nvar presenterCssLink;\nvar presentModeInitialized = false;\n\nfunction presentToggle() {\n if (!presentModeInitialized) {\n presentModeSetup();\n presentModeInitialized = true;\n }\n let bod = $(\"body\");\n let presentClass = \"present\";\n let fullHeightClass = \"full-height\";\n let bottomClass = \"bottom\";\n if (bod.hasClass(presentClass)) {\n $(\".section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, .section, .pre, code\"\n )\n .removeClass(\"hidden\"); //show everything\n $(\"#completionButton\").removeClass(\"hidden\");\n bod.removeClass(presentClass);\n $(\".\" + fullHeightClass).removeClass(fullHeightClass);\n $(\".\" + bottomClass).removeClass(bottomClass);\n localStorage.setItem(\"presentMode\", \"text\");\n codeExercises.removeClass(\"hidden\");\n presenterCssLink.disabled = true; // disable present_mode.css\n } else {\n $(\".section *\")\n .not(\n \"h1, .presentation-title, .btn-presenter, .runestone, .runestone *, .section, .pre, code\"\n )\n .addClass(\"hidden\"); // hide extraneous stuff\n $(\"#completionButton\").addClass(\"hidden\");\n bod.addClass(presentClass);\n bod.addClass(fullHeightClass);\n $(\"html\").addClass(fullHeightClass);\n $(\".section .runestone\").addClass(fullHeightClass);\n $(\".ac-caption\").addClass(bottomClass);\n localStorage.setItem(\"presentMode\", presentClass);\n loadPresenterCss(); // present_mode.css should only apply when in presenter mode.\n activateExercise();\n }\n}\n\nfunction loadPresenterCss() {\n presenterCssLink = document.createElement(\"link\");\n presenterCssLink.type = \"text/css\";\n presenterCssLink.href = \"../_static/presenter_mode.css\";\n presenterCssLink.rel = \"stylesheet\";\n document.getElementsByTagName(\"head\")[0].appendChild(presenterCssLink);\n}\n\nfunction presentModeSetup() {\n // moved this out of configure\n let dataComponent = $(\"[data-childcomponent]\");\n\n // this still leaves some things semi-messed up when you exit presenter mode.\n // but instructors will probably just learn to refresh the page.\n dataComponent.addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").not(\".section\").addClass(\"runestone\");\n dataComponent.parent().closest(\"div\").css(\"max-width\", \"none\");\n\n dataComponent.each(function (index) {\n let me = $(this);\n $(this)\n .find(\".ac_code_div, .ac_output\")\n .wrapAll(\"\");\n });\n\n codelensListener(500);\n $(\".section img\").wrap('
\").text($(this).text());\n });\n }});\n });\n}(window.jQuery));\n","/*global variable declarations*/\n\n\"use strict\";\n\nimport \"../css/user-highlights.css\";\n\nfunction getCompletions() {\n // Get the completion status\n if (\n window.location.href.match(\n /(index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/\n )\n ) {\n return;\n }\n\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n var data = { lastPageUrl: currentPathname };\n jQuery\n .ajax({\n url: `${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,\n data: data,\n async: false,\n })\n .done(function (data) {\n if (data != \"None\") {\n var completionData = data.detail;\n var completionClass, completionMsg;\n if (completionData[0].completionStatus == 1) {\n completionClass = \"buttonConfirmCompletion\";\n completionMsg =\n \" Completed. Well Done!\";\n } else {\n completionClass = \"buttonAskCompletion\";\n completionMsg = \"Mark as Completed\";\n }\n $(\"#main-content\").append(\n '\"\n );\n }\n });\n}\n\nfunction showLastPositionBanner() {\n var lastPositionVal = $.getUrlVar(\"lastPosition\");\n if (typeof lastPositionVal !== \"undefined\") {\n $(\"body\").append(\n '