{"version":3,"sources":["init.js"],"names":["FRAMEWORK","window","requireInitConfig","integrityDigests","JSON","parse","moduleAttributes","customRequireConfigSri","loadMain","script","document","createElement","baseUrl","main","setAttribute","head","initScript","customRequireConfigUrl","getElementById","currentUrl","src","replace","getAttribute","crossorigin","integrity","localeUrl","settingsUrl","appUrl","getElementsByTagName","karma"],"mappings":"aAAA,IAAIA,UAAYC,OAAOD,WAAa,GAApCA,UAAIA,kBAAmBA,CAEvBA,QAAUE,MAETC,iBADeC,KAAAC,MAAA,iRAAA,EAEfC,iBADmBF,EAEpB,EAEA,WASEG,SACAC,KACCC,EADOC,SAAGC,cAAW,QAAA,GACrBF,IAASC,UAASC,kBAAeC,QAAU,WAE3CH,EADAA,aAAaT,YAAUE,UAAkBU,kBAAUT,iBAAUU,IAAA,EAE7DJ,EADAA,aAAOK,cAA2Bd,WAAUE,EAE5Ca,EADAN,YAAOK,CAAc,CAEtB,CAZD,IAAIE,EAEHD,EACAN,EACAQ,EACAV,EAcI,SAAUN,SAEDS,QAAbM,EADAN,SAAAQ,eAAA,SAAA,KAGCC,EADIH,EAAmBI,IAGvBpB,UAAAA,kBAAUE,QAAyBiB,EAAGA,QAAWE,WAAmB,EAAE,EAEtEJ,EACsBD,EAAGA,aAAWM,cAAc,EAAlDf,EACKU,EAAyBK,aAAA,wBAAA,EAC7BtB,IAAAA,UACAA,kBAAUE,uBAAoCe,EAA9CjB,UAA2EuB,kBAAcjB,iBAAAW,GAAA,CAAAM,YAAA,WAAA,EAAahB,KAErGP,UADIO,kBAAAA,iBAAyBU,GAAAO,UAAAjB,GAK/BP,UAAAA,kBAAUE,UAA2Bc,EAAGA,aAAWM,aAAc,EACjEtB,UAAAA,kBAAUE,YAA6Bc,EAAGA,aAAWM,eAAc,EAGtChB,OAA5BN,UAAUE,kBAAkBI,YAA5BN,UAA0FuB,kBAAcjB,iBAAAN,UAAAE,kBAAAuB,WAAA,CAAAF,YAAA,WAAA,GACzG,OAAAvB,UAAAE,kBAAAwB,cAEC1B,UADIA,kBAAUE,iBAA6BF,UAAYE,kBAAAwB,aAAA,CAAAH,YAAA,WAAA,GAIxDvB,UAHwHE,kBAAAyB,OAAAX,EAAAM,aAAA,UAAA,GAOzHP,EAAOL,SAASkB,qBAAsB,MAAO,EAAG,GAAhCA,YAAhBb,OAAOL,QAINF,EADA,IAGAC,EADMC,SAAAC,cAAA,QAAA,GACNF,IAASC,UAASC,kBAAeC,QAAU,0BAE3CZ,UAAA6B,OAECpB,EADIT,aAAe,YAAGA,UAAAE,kBAAAU,QAAA,UAAA,EAGvBH,EADAK,aAAA,YAAAd,UAAAE,kBAAAC,iBAAA,sBAAA,EAEAM,EADAA,aAAOK,cAA2Bd,WAAUE,EAE5Ca,EADAN,YAAOK,CAAc,EAMxBd,UAAA6B,QAEIpB,EADKT,OAAS,WAEbQ,EADK,CAEN,IAIH,EADA","file":"init.js","sourcesContent":["var FRAMEWORK = window.FRAMEWORK || {};\r\n\r\nFRAMEWORK.requireInitConfig = {\r\n\tbaseUrl : '/js',\r\n\tintegrityDigests : JSON.parse( '{\"vendor/core/require\":\"sha384-0OZqCs8+owkkEVGQl4VJznr20eR2Mb/BUizhGZgAt0iq1M9P/Sxxctv1jtrtqXwF\",\"main\":\"sha384-YSMDPU4/6QDmQphsUJSr2fHdktJEEOcMlDFS+t/p/Kp3QCXR9y0tIdWEs7t14RNo\",\"stand-alone-main\":\"sha384-LNC5VPvkGk5Kt5uxOkFGkMEsFrn7zZ8gT3wIhDaHWtkG6hLJSmZxxn09NevS5ykx\"}' ),\r\n\tmoduleAttributes : {},\r\n};\r\n\r\n// Extend require config\r\n( function fn() {\r\n\t'use strict';\r\n\r\n\tvar initScript,\r\n\t\tcurrentUrl,\r\n\t\thead,\r\n\t\tscript,\r\n\t\tcustomRequireConfigUrl,\r\n\t\tcustomRequireConfigSri,\r\n\t\tloadMain = function() {\r\n\t\t\tscript = document.createElement( 'script' );\r\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/main.js';\r\n\t\t\tscript.setAttribute( 'integrity', FRAMEWORK.requireInitConfig.integrityDigests.main ); // Sets the integrity attribute to the require element\r\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\r\n\t\t\thead.appendChild( script );\r\n\t\t};\r\n\r\n\t/*\r\n\t * Check browser has minimum level of feature support\r\n\t * Bar set at IE11 using techniques covered https://walterebert.com/blog/gracefully-ignoring-old-browsers/\r\n\t */\r\n\r\n\tif ( 'Intl' in window ) {\r\n\t\t// Set base URL based on where init.js is being loaded from\r\n\t\tinitScript = document.getElementById( 'js-init' );\r\n\t\tif ( initScript !== null ) {\r\n\t\t\tcurrentUrl = initScript.src;\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.baseUrl = currentUrl.replace( '/init.js', '' );\r\n\r\n\t\t\tcustomRequireConfigUrl = initScript.getAttribute( 'data-require' );\r\n\t\t\tcustomRequireConfigSri = initScript.getAttribute( 'data-require-integrity' );\r\n\t\t\tif ( customRequireConfigUrl ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.customRequireConfigUrl = customRequireConfigUrl;\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t\tif ( customRequireConfigSri ) {\r\n\t\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ customRequireConfigUrl ].integrity = customRequireConfigSri;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.localeUrl = initScript.getAttribute( 'data-locale' );\r\n\t\t\tFRAMEWORK.requireInitConfig.settingsUrl = initScript.getAttribute( 'data-settings' );\r\n\r\n\t\t\tif ( FRAMEWORK.requireInitConfig.localeUrl !== null ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.localeUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\t\t\tif ( FRAMEWORK.requireInitConfig.settingsUrl !== null ) {\r\n\t\t\t\tFRAMEWORK.requireInitConfig.moduleAttributes[ FRAMEWORK.requireInitConfig.settingsUrl ] = { crossorigin : 'anonymous' };\r\n\t\t\t}\r\n\r\n\t\t\tFRAMEWORK.requireInitConfig.appUrl = initScript.getAttribute( 'data-app' );\r\n\t\t}\r\n\r\n\t\t// Insert RequireJS in page\r\n\t\thead = document.getElementsByTagName( 'head' )[ 0 ];\r\n\r\n\t\tif ( typeof require === 'function' ) {\r\n\t\t\t// If require is already loaded then don't load it again. Just load main and intitialise Framework\r\n\t\t\tloadMain();\r\n\t\t} else {\r\n\t\t\tscript = document.createElement( 'script' );\r\n\t\t\tscript.src = FRAMEWORK.requireInitConfig.baseUrl + '/vendor/core/require.js';\r\n\t\t\t// If running a karma test then load main.js using the data-main attribute\r\n\t\t\tif ( FRAMEWORK.karma ) {\r\n\t\t\t\tscript.setAttribute( 'data-main', FRAMEWORK.requireInitConfig.baseUrl + '/main.js' );\r\n\t\t\t}\r\n\t\t\tscript.setAttribute( 'integrity', FRAMEWORK.requireInitConfig.integrityDigests[ 'vendor/core/require' ] ); // Sets the integrity attribute to the require element\r\n\t\t\tscript.setAttribute( 'crossorigin', 'anonymous' );\r\n\t\t\thead.appendChild( script );\r\n\r\n\t\t\t/*\r\n\t\t\t * If not running a karma test then load main.js after require.js script has\r\n\t\t\t * loaded so that crossorigin and integrity can be applied to it\r\n\t\t\t */\r\n\t\t\tif ( !FRAMEWORK.karma ) {\r\n\t\t\t\tscript.onload = function onload() {\r\n\t\t\t\t\tloadMain();\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})();\r\n"]}