{"version":3,"sources":["init.js"],"names":["FRAMEWORK","window","requireInitConfig","integrityDigests","JSON","parse","moduleAttributes","loadMain","script","document","createElement","src","baseUrl","setAttribute","main","head","initScript","customRequireConfigUrl","customRequireConfigSri","getElementById","currentUrl","replace","getAttribute","crossorigin","integrity","settingsUrl","localeUrl","appUrl","require","appendChild","karma","onload"],"mappings":"aAAA,IAAIA,UAAYC,OAAOD,WAAa,GAApCA,UAAIA,kBAAmBA,CAEvBA,QAAUE,MAETC,iBAF6BC,KAAAC,MAAA,mRAG7BC,iBADmBF,IAKpB,WASEG,SANDA,KAOEC,EAAMC,SAAWC,cAAgB,WAC3BC,IAANX,UAAsBE,kBAATU,QAAA,WACbJ,EAAMK,aAAe,YAAab,UAAUE,kBAAkBC,iBAAiBW,MAC/EN,EAAOK,aAAc,cAAe,aACpCE,EADAP,YAAOK,GAVT,IAAAG,EAAAD,EAAAP,EAAAS,EAAAC,EAmBK,SAAUjB,SAEDQ,QAAbO,EADAP,SAAAU,eAAA,cAGCC,EAAaJ,EAAWL,IAExBX,UAFAoB,kBAAwBT,QAAxBS,EAAAC,QAAA,WAAA,IAIAJ,EAAsBD,EAAGA,aAAWM,gBACpCJ,EAAsBF,EAAGA,aAAWM,0BAC/BL,IACJjB,UADIiB,kBAALA,uBAA8BA,EAE7BjB,UADAA,kBAAUE,iBAAkBe,GAAyBA,CAAAA,YAArD,aACAjB,IAECA,UAF0EuB,kBAAcjB,iBAAAW,GAAAO,UAAAN,IAM1FlB,UAJEA,kBAAUE,UAAkBI,EAA5BgB,aAA8CL,eAKhDjB,UAJEE,kBAAAuB,YAAAT,EAAAM,aAAA,iBAM6C,OAA1CtB,UAAUE,kBAAkBwB,YAChC1B,UAJDA,kBAAUE,iBAA8Bc,UAAWM,kBAAcI,WAAjE,CAAAH,YAAA,cAMiD,OAA5CvB,UAAUE,kBAAkBuB,cAChCzB,UAJIA,kBAAUE,iBAAVF,UAAiDE,kBAAAuB,aAAA,CAAAF,YAAA,cAOtDvB,UANCE,kBAAAyB,OAAAX,EAAAM,aAAA,aAUFP,EAPEf,SAAUE,qBAAkBI,QAAAA,GAA5B,mBAAAsB,QAWDrB,MAEAC,EAPDC,SAAAC,cAAA,WAQQC,IAAMX,UAAUE,kBAAkBU,QAAU,0BAPhDZ,UAAGS,OAULD,EAAOK,aAAc,YAAab,UAAUE,kBAAkBU,QAAU,YAEzEJ,EATAK,aAAA,YAAAb,UAAAE,kBAAAC,iBAAA,wBAUAK,EATAD,aAAQ,cAAA,aAURQ,EAZDc,YAGOrB,GAMLR,UAAA8B,QAUAtB,EAAOuB,OAAS,WACfxB,QA5EL","file":"init.js","sourcesContent":["var FRAMEWORK = window.FRAMEWORK || {};\n\nFRAMEWORK.requireInitConfig = {\n\tbaseUrl : '/js',\n\tintegrityDigests : JSON.parse( '{\"main\":\"sha384-NlGdxl6a8GGWHZtCvgJusfuHb5k9Xg1gR2o3Pk2CNieRe8ymaqNnYPE7c1R1PrDD\",\"stand-alone-main\":\"sha384-Xc7s3/QtAVchWlhVR/wsG2EaAwogHhg7fdTGAvfNwAat6cRnlw2gvxOJ7O0PZMYA\",\"vendor/core/require\":\"sha384-W2mVJop3oZM/hwFK2yQsXrj0G6Rqvzgw6NFuWEq6tBRl0AOTnAESYQFJ1qyVHZKk\"}' ),\n\tmoduleAttributes : {},\n};\n\n// Extend require config\n( function fn() {\n\t'use strict';\n\n\tvar initScript,\n\t\tcurrentUrl,\n\t\thead,\n\t\tscript,\n\t\tcustomRequireConfigUrl,\n\t\tcustomRequireConfigSri,\n\t\tloadMain = function() {\n\t\t\tscript = document.createElement( 'script' );\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/main.js';\n\t\t\tscript.setAttribute( 'integrity', FRAMEWORK.requireInitConfig.integrityDigests.main ); // Sets the integrity attribute to the require element\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\n\t\t\thead.appendChild( script );\n\t\t};\n\n\t/*\n\t * Check browser has minimum level of feature support\n\t * Bar set at IE11 using techniques covered https://walterebert.com/blog/gracefully-ignoring-old-browsers/\n\t */\n\n\tif ( 'Intl' in window ) {\n\t\t// Set base URL based on where init.js is being loaded from\n\t\tinitScript = document.getElementById( 'js-init' );\n\t\tif ( initScript !== null ) {\n\t\t\tcurrentUrl = initScript.src;\n\n\t\t\tFRAMEWORK.requireInitConfig.baseUrl = currentUrl.replace( '/init.js', '' );\n\n\t\t\tcustomRequireConfigUrl = initScript.getAttribute( 'data-require' );\n\t\t\tcustomRequireConfigSri = initScript.getAttribute( 'data-require-integrity' );\n\t\t\tif ( customRequireConfigUrl ) {\n\t\t\t\tFRAMEWORK.requireInitConfig.customRequireConfigUrl = customRequireConfigUrl;\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ] = { crossorigin : 'anonymous' };\n\t\t\t\tif ( customRequireConfigSri ) {\n\t\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ].integrity = customRequireConfigSri;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tFRAMEWORK.requireInitConfig.localeUrl = initScript.getAttribute( 'data-locale' );\n\t\t\tFRAMEWORK.requireInitConfig.settingsUrl = initScript.getAttribute( 'data-settings' );\n\n\t\t\tif ( FRAMEWORK.requireInitConfig.localeUrl !== null ) {\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.localeUrl ] = { crossorigin : 'anonymous' };\n\t\t\t}\n\t\t\tif ( FRAMEWORK.requireInitConfig.settingsUrl !== null ) {\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.settingsUrl ] = { crossorigin : 'anonymous' };\n\t\t\t}\n\n\t\t\tFRAMEWORK.requireInitConfig.appUrl = initScript.getAttribute( 'data-app' );\n\t\t}\n\n\t\t// Insert RequireJS in page\n\t\thead = document.getElementsByTagName( 'head' )[ 0 ];\n\n\t\tif ( typeof require === 'function' ) {\n\t\t\t// If require is already loaded then don't load it again. Just load main and intitialise Framework\n\t\t\tloadMain();\n\t\t} else {\n\t\t\tscript = document.createElement( 'script' );\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/vendor/core/require.js';\n\t\t\t// If running a karma test then load main.js using the data-main attribute\n\t\t\tif ( FRAMEWORK.karma ) {\n\t\t\t\tscript.setAttribute( 'data-main', FRAMEWORK.requireInitConfig.baseUrl + '/main.js' );\n\t\t\t}\n\t\t\tscript.setAttribute( 'integrity', FRAMEWORK.requireInitConfig.integrityDigests[ 'vendor/core/require' ] ); // Sets the integrity attribute to the require element\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\n\t\t\thead.appendChild( script );\n\n\t\t\t/*\n\t\t\t * If not running a karma test then load main.js after require.js script has\n\t\t\t * loaded so that crossorigin and integrity can be applied to it\n\t\t\t */\n\t\t\tif ( !FRAMEWORK.karma ) {\n\t\t\t\tscript.onload = function onload() {\n\t\t\t\t\tloadMain();\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n})();\n"]}